function clone(obj){
    if(obj == null || typeof(obj) != 'object')
        return obj;
		
    var temp = new obj.constructor(); // changed (twice)
    for(var key in obj)
       temp[key] = clone(obj[key]);
		return temp;
}

function isNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
   Char = sText.charAt(i); 
   if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function getFields(form){
	o= new Object;
	var f=document.forms[form];
	//if(!f){	var f=$("jqi").document.forms[form];}
	if(!f){alert("no f"); return false;}
	for (var i=0; i<f.elements.length; i++){
		var name=f.elements[i].name;
		var type=f.elements[i].type;
		//alert(type);
		if(type=='radio'){
			if(f.elements[i].checked){	o[name]=f.elements[i].value; }
		}else if(type=='checkbox'){
			if(f.elements[i].checked){
				if(!o[name]){o[name]=new Array();  	}
				o[name][o[name].length]=f.elements[i].value;
			}
		}
		else{			o[name]=f.elements[i].value; }
	}
	return o;
}



function aSk(type,e){
	if(typeof(e)=="string"){ e=unescape(e);	 if(e.substring(0,1)=='{'){e=$.evalJSON(e);}else{e=getFields(e);}}		
	//alert(type+' '+$.toJSON(e));
	
	$.post(type+".php",e,function(data){		
		if(!isNumeric(data) && data.substring(0,1)!="{"){
			$.prompt(data,{buttons:{}});
		}else{
			if(data.length>0){data=$.evalJSON(data);}
			if(data['error']){$.prompt(data['error']); return false;}
			jQuery.prompt.close();
		
		switch(type){
			case "admin/samples_process": $('#row'+e['id']).css('display','none');			break;	
			default:   					break;
		}
		}
	});
	return false;
}


















$(document).ready(function(){
	if(sessMess!=""){$.prompt(sessMess);}
	
	basketLoad();
	
	if(typeof loadAll=='function'){loadAll();}
	if(typeof resetAll=='function'){resetAll();}
	if(typeof intro=='function'){intro(); }

}); 










function inArray( what, where ){	for (i=0; i < where.length; i++) {		if (where[i] === what) {		return true;		}	}return false;};
function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict; 
    if (strict) {        for (key in haystack) {            if (haystack[key] === needle) {                return true;            }        }
    } else {        for (key in haystack) {            if (haystack[key] == needle) {                return true;            }        }    }
     return false;
}

function closeError(){var ob=parent.document.getElementById('msgI').style; ob.opacity = 0;ob.MozOpacity=0;ob.KhtmlOpacity = 0;ob.filter = "alpha(opacity=0)"; ob.display='none';enable();}
function opacity() {var timer = 0;	for(i = 100; i >= 0; i--) {	setTimeout("changeOpac(" + i + ")",(timer * 10));	timer++;		}}
function fadeOut(id) {var timer = 0;	for(i = 50; i >= 0; i--) {	setTimeout("changeOp(" + (i*2) + ",'"+id+"')",(timer*2));	timer++;		}}
function fadeIn(id) {var timer = 0;	for(i = 0; i <= 50; i++) {	setTimeout("changeOp(" + i*2 + ",'"+id+"')",(timer*2));	timer++;		}}
function changeOp(opa,id) {var ob=document.getElementById(id).style;ob.opacity=(opa/100);ob.MozOpacity=(opa/100);ob.KhtmlOpacity=(opa/100);ob.filter="alpha(opacity="+opa+")";}
function changeOpac(opa) {var ob=document.getElementById('msgI').style;ob.opacity=(opa/100);ob.MozOpacity=(opa/100);ob.KhtmlOpacity=(opa/100);ob.filter="alpha(opacity="+opa+")";}
function shiftOpa(fade) {
	var ob= document.getElementById('msgI').style; ob.opacity = 1;ob.MozOpacity=1;ob.KhtmlOpacity = 1;ob.filter = "alpha(opacity=100)";
	if(fade==1){setTimeout("opacity()", 2000);setTimeout("closeError()",3000); } 
}

function M2P(figure)	{	var px=Math.round(figure*multiplier);	return px;}
function isEmail(strEmail){          
	validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i; 
	if (strEmail.search(validRegExp) == -1) {    return false;   }  
	return true;     
}
function ucfirst (str) {   var f = str.charAt(0).toUpperCase();   return f + str.substr(1);}
function rNum(num) {return Math.round(num * 100) / 100;}
function enable(){ 	$("#blanket").css('display','none');}
function disable(){ 	$("#blanket").css('display','block');}
function basketLoad(){	 $.post("basketLoad.php",function(data){document.getElementById("basketContent").innerHTML=data;});}
	
	
function saveBasket(){
	disable();
	aSk('emailCollect',{returnFtn:'showcart_savebasket',o:''});
	enable();
	}