
expandedPower = 0;
expandedCompare = 0;

if(jquery == 1) {

	$(document).ready(function () {

		$("a").live("click",function() {
	    	$("a[href*='http://']:not([href*='"+location.hostname+"'])").attr("target","_blank");
	    });

		
		$('a[rel="external"]').live("click",function() {
	        window.open( $(this).attr('href') );
	        return false;
	    });
		
		target = "updateConfig";
		
		$(".productDetailRow select").change(function() {
			
			var max;
			var selVal;
			var rel;
			var price;
			var id;
			var optionID;
			var tmpTotal;
			var interval;
			var first;
			var firstPrice;
			var total;
			var power;
			var loadUpdate = true;
			
			max 	= parseInt($(this).attr("max"));
			selVal	= $(this).val();
			rel 	= $(this).attr("rel");
			price 	= $(this).attr("price");
			first 	= $(this).attr("first");
			power 	= $(this).attr("power");
			optionID = $(this).attr("optionID");
			id  	= this.id;
			interval = parseInt($(this).attr("interval"));
			
			//if(!interval)
			interval = 1;
			
			total = 0;			
	        $(".productDetailRow select[rel*="+rel+"]").each(function(){
	        	tel = $("#"+this.id).val();
	        	total += parseInt(tel);
	        }); 	
	        
	       	tmpTotal = total;
	       	/// send request to server to keep track of configuration
			productID 	= $("#product").attr("product");
			config 		= $("#product").attr("config");
			
	        $(".productDetailRow select[rel*="+rel+"]").each(function(){
	         	//if(this.id != id)  {
		        	/*if(total==0 && this.id == id) {
		        		thisID = interval;
		        		total = interval; 
		        		loadUpdate = false;
		        		loadPage("index.php?page=AJAXlayout","error_"+rel,"f=showError&error=ERROR_SHOP_NO_NUM&target=error_"+rel); 
		        		//loadPage("index.php?page=AJAXshop",target,"f=priceUpdate&productID="+productID+"&optionID="+id+"&amount="+total+"&price="+price+"&config="+config+"&group="+rel+"&first="+first); 
		        	}

		        	*/
		        	thisID = parseInt($("#"+this.id).val());
		        	total = tmpTotal;
		        			
		        	intervals = $("#"+this.id).attr("interval").split("-");	        	
		        	$("#"+this.id).removeOption(/./);   
		        	//i2 = 0;
		        	for(i=0;i<=(max-total+thisID);i=i+interval) {
		        		if(in_array(i,intervals)) {
		        			if(i==thisID) {
		        				selected = true;
		        			}
		        			else {
		        				selected = false;
		        			}
		        			
		        			$("#"+this.id).addOption(i,i,selected);
		        			//i2++;
		        		}
		        	}
	        }); 
	        
	        if(loadUpdate)
	        	loadPage("index.php?page=AJAXshop",target,"f=priceUpdate&productID="+productID+"&optionID="+optionID+"&amount="+selVal+"&price="+price+"&config="+config+"&group="+rel+"&first="+first+"&power="+power); 
	    }) ;

	    $(".productDetailRow input:radio, .productDetailRow .radioRow").bind("click", function() {
	    	
	    	var id;
	    	var optionID;
	    	var productID;
	    	var config;
	    	var price;
	    	var group;
	    	var first;
	    	var power;
	    	
	    	id  = this.id;
	    	
	    	if(id.substr(0,4)=="row_") {
	    		id = id.substr(4);
	    		$('#'+id).attr('checked',true);
	    	}
	    	/// send request to server to keep track of configuration
			productID 	= $("#product").attr("product");
			config 		= $("#product").attr("config");
			price 		= $("#"+id).attr("price");
			optionID	= $("#"+id).attr("optionID");
			group 		= $("#"+id).attr("name");
			first 		= $("#"+id).attr("first");
			power 		= $("#"+id).attr("power");
			
			loadPage("index.php?page=AJAXshop",target,"f=priceUpdate&productID="+productID+"&optionID="+optionID+"&amount=1&radio=1&price="+price+"&config="+config+"&group="+group+"&first="+first+"&power="+power); 
	    });
	    
	    
	    $("#paymentMethod").bind("change", function() {
	    	
	    	var target;
	    	var selVal;
	     	var id;
	     	
	     	id  	= this.id;
	    	selVal	= $(this).val();

	    	if(selVal == 5 || selVal == 6)  {
	    		$("#levInfo").hide();
	    		$('#lev_no').attr("checked","checked");
	    		$('#lev').hide();
	    	}
	    	else {
	    		$("#levInfo").show();
	    	}
	     	
	     	loadPage("index.php?page=AJAXshop",target,"f=filter&field="+id+"&option="+selVal); 
	    	
	    });
	    
	    
	    $(".fckLink").live("click", function() {
	    	rel = $(this).attr("rel");
	    	
	    	width = $("#content_"+rel).width();
	    	
	    	if(width<600)
	    		toolBar= "simple";
	    	else
	    		toolBar = "edit";
	    		
	    	loadPage("admin.php?page=content","content_"+rel,"textID="+rel+"&ajax=1&toolbar="+toolBar); 
	    });
	    
	    $(".fckLink2").live("click", function() {
	    	rel = $(this).attr("rel");
	    	
	    	width = $("#contentSub_"+rel).width();
	    	
	    	
	    	toolBar = "edit";
	    		
	    	loadPage("admin.php?page=content","contentSub_"+rel,"textID="+rel+"&ajax=1&sub=1&toolbar="+toolBar); 
	    });
    
    
	    
	    $(".thumbContainer a").live("click", function() {
	    	
	    	rel = $(this).attr("rel");
	    	
	    	$("#pictureTitle").hide().html("&nbsp;");
	    	
	    	large 	= $("#img_"+rel).attr("large");
	    	c 		= $("#img_"+rel).attr("longdesc");
	    	estyle 	= $("#img_"+rel).attr("estyle");
	    	
	    	
	    	$("#pictureLarge, #pictureTitle").fadeOut("normal", function() {
	    		$("#pictureLarge").html('<img src="'+large+'" border="0" style="'+estyle+'" />').fadeIn("normal",
	    			function() {
	    				
	    				if(c)
	    					$("#pictureTitle").html(c+"&nbsp;").show().fadeTo("normal",0.6);
	    			}
	    		
	    		);
	    		
	    	});

	    });
	    
	    $(".leasingOption input").live("click", function() {
	    	
	     	val	= $(this).val();
	    	loadPage("index.php?page=AJAXorder","tmp_","f=leasing&value="+val); 
	    		    	
	    });
	    
	    $(".compareBox").live("click", function() {
	    	
	    	var va = "";
	    	var ch = "";
	    	
	    	ch = $(this).attr("checked");
			va = $(this).attr("value");
				
    		loadPage("index.php?page=AJAXshop","compareBox","f=compare&fade=1&productID="+va+"&ch="+ch);
	    });
	    
	    
	    
	});
	

	function cardUpdate(el) {
    	
    	var id;
    	var configID;
    	var amount;
    	var content;
    	
    	id  = el.id;
    	/// send request to server to keep track of configuration
		configID 	= $(el).attr("rel");
		amount 		= $(el).attr("value");

		loadPage("index.php?page=AJAXorder","cardUpdate","f=changeAmount&configID="+configID+"&amount="+amount); 
		
    };
	    

	function calculateAmount(id) {
	    	
    	var configID;
    	var amount;
    	var content;

    	/// send request to server to keep track of configuration
		configID 	= $('#amount_'+id).attr("rel");
		amount 		= $('#amount_'+id).attr("value");

		loadPage("index.php?page=AJAXorder","cardUpdate","f=changeAmount&configID="+configID+"&amount="+amount); 
		
    };
	    
    
	function recalculateShop() {
		
		showOverlay();
		
		$('body').append('<div id="recalculateShop"><img src="'+domain+'data/images/icons/loading.gif" align="absmiddle" > Prijs herberekenen</div>');	
		$('body').append('<div id="tmpAJAX"></div>');	
		loadPage("index.php?page=AJAXshop","tmpAJAX","f=recalculateShop"); 
	}
	
	
	function showOverlay() {
		
		$('body').append('<div id="overlay"></div>');	
		// Get page sizes
		var arrPageSizes = ___getPageSize();
		// Style overlay and show it
		$('#overlay').css({
			backgroundColor:	"#FFF",
			opacity:			"0.8",
			width:				arrPageSizes[0]+30,
			height:				arrPageSizes[1]
		}).fadeIn();
		
		$('body').css( { overflow: "hidden" } );
	}
	
	function hideOverlay() {
		
		$("#overlay").remove();
		$("body").css( { overflow: "auto" } );
	}
	    
	
	
	function checkGroup(group,max,interval) {
		
			/*if(!interval)
				interval = 1;
			*/
			//interval = parseInt(interval);	
			interval = 1;
        	
			total = 0;
	        $(".productDetailRow select[rel="+group+"]").each(function(){
	        	tel = $("#"+this.id).val();
	        	total += parseInt(tel);
	        	// alert("dd");
	        });
	       
        	$(".productDetailRow select[rel="+group+"]").each(function(){
	        	thisID = parseInt($("#"+this.id).val());
	        	intervals = $("#"+this.id).attr("interval").split("-");
	        	//i2 = 0;
	        	$("#"+this.id).removeOption(/./);   
	        	for(i=0;i<=(max-total+thisID);i=i+interval) {
	        		if(in_array(i,intervals)) {
		        		if(i==thisID) {
		        			selected = true;
		        		}
		        		else {
		        			selected = false;
		        		}
		        		
		        		$("#"+this.id).addOption(i,i,selected);
		        		//i2++;
	        		}
	        	}
			});
	}
	
	function resetConfigPrices(group,selectedID) {
		
		var price;
		var tmpPrice;
		var newPrice;
		var tmpID;
		var c;
		
		price = $("#"+group+"_"+selectedID).attr("price");
		$("[id^='price_"+group+"']").each(function(){
			
			str = this.id;
			tmpID = str.substr(6);
			//alert(tmpID);
			
			
			tmpPrice = $("#"+tmpID).attr("price");
			
			//if(tmpPrice) {
				newPrice = tmpPrice-price;
				newPrice = addCommas(newPrice);
				field = newPrice.toString();
				
				//if(newPrice > 0) {
				if(numeric(field) && field != '0.00') {
					if(field.substr(0,1)== "-" )
						c = "&nbsp;- &euro; "+field.substr(1);
					else
						c = "&nbsp;+ &euro; "+field;
						
					$("#"+this.id).html(c).show();
				}
				else {
					$("#"+this.id).html("").show();
				}
			
		});
	}
	
	function updateCal(power) {
		
		if($("#power").is(':visible') ) { 
		
			if(power) {
				power = parseFloat(power);
				if(numeric(power)) {
		
					
					total = parseFloat($("#power").attr("total"));
					total += power;
					//alert(total+" / "+power);
					$("#power").attr("total",total);
					
					if(expandedPower) {
						morePower();
					}
					else {
						avg 	= (total/1.2).toFixed(2);
						avg_amp = (avg/225).toFixed(2);
		
						$("#power").html('<div class="powerTxt" onmouseover="morePower();" >avg load: '+avg+'W<div class="small"> (='+avg_amp+'A)</div></div>');
					}
					
				}
			}
			else {
			
				if(expandedPower) {
					morePower();
				}
			}
		}
	}
	
	function morePower() {
		
		expandedPower = 1;
		
		$("#power").addClass('power2');
		
		total = parseFloat($("#power").attr("total"));
	
		idle 	= (total/1.4).toFixed(2);
		avg 	= (total/1.2).toFixed(2);
		full 	= (total).toFixed(2);
		
		// ampere = watt/volt
		idle_amp 	= (idle/225).toFixed(2);
		avg_amp 	= (avg/225).toFixed(2);
		full_amp 	= (full/225).toFixed(2);
		
		
		$("#power").removeAttr("onmouseover").html('<div class="powerTxt" ><div id="powerClose" onclick="restorePower();"><img src="'+domain+'data/images/icons/delete_16.png" border="0" /></div><b class="title">idle load:</b><div class="container">	<div class="fLeft small"  ><img src="'+domain+'data/images/icons/pic.gif" align="absmiddle" /> '+idle+'W</div>			<div class="fLeft small">(='+idle_amp+'A)</div>		</div><b class="title">average load:</b><div class="container"><div class="fLeft small"  ><img src="'+domain+'data/images/icons/pic.gif" align="absmiddle" /> '+avg+'W</div><div class="fLeft small">(='+avg_amp+'A)</div></div><b class="title">full load:</b><div class="container">	<div class="fLeft small" ><img src="'+domain+'data/images/icons/pic.gif" align="absmiddle" /> '+full+'W</div><div class="fLeft small">(='+full_amp+'A)</div></div></div>');

	}
	
	function restorePower() {
		
		expandedPower = 0;
		
		$('#power').slideDown(2000, function() {

			total = parseFloat($("#power").attr("total"));
				
			avg 	= (total/1.2).toFixed(2);
			avg_amp = (avg/225).toFixed(2);
			$("#power").html("&nbsp;");
			
			$("#power").removeClass("power2").html('<div class="powerTxt" onmouseover="morePower();" >avg load: '+avg+'W<div class="small"> (='+avg_amp+'A)</div></div>');
		} );
	
		
		
	}
	
	function checkProduct() {
		
		var checkError = false;
		
		var rels = new Array();
		var tel = 0;
		var errorId= false;
		
		$(".productDetailRow select").each(function() {
			
			add = 1;
			rel = $(this).attr("rel");
			for (var i=0; i<rels.length; i++) {
				if(rels[i]==rel)	
					add = 0;
			}
		
			if(add) {
				rels[tel] = rel
				tel++;
			}
		});
			
		for (var i=0; i<rels.length; i++) {
			
			rel = rels[i];

			total = 0;			
	        $(".productDetailRow select[rel*="+rel+"]").each(function(){
	        	tel = $("#"+this.id).val();
	        	total += parseInt(tel);
	        }); 	
	        

        	if(total==0 ) {
        		checkError = 1;
        		loadPage("index.php?page=AJAXlayout","error_"+rel,"f=showError&error=ERROR_SHOP_NO_NUM&target=error_"+rel); 
        		if(errorId==false)
        			errorId = "error_"+rel;
        	}
        	else {
        		$("#error_"+rel).hide();
        	}
		} 
	        
			    
	    if(checkError) {
	    	
	    	$.scrollTo('#'+errorId, 800 );
	    	return false;
	    }
	    else
	    	return true;
	    	
	  		
	}
	
	
	function numeric(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 updatePrice(price, vat) {
		
		var p;
		var exP;
		var inP;
		
		p = $('#price').html();
	
		p = cleanPrice(p);
		
		exP = parseFloat(p) + parseFloat(price);
		if(vat>0) {
			vat = cleanPrice(vat);
			inP = exP*vat;	
		}
		else {
			inP = exP;	
			
		}
		
		exP = addCommas(exP);
		inP = addCommas(inP);
		$("#price").html(exP);
		$("#priceIncl").html(inP);
	}
	
	function cleanPrice(p) {
		//p = p.replace(".", "");
		//p = p.replace(",", ".");
		
		return p;
	}
	
	
	function addCommas(nStr) {
		
		nStr = nStr.toFixed(2);
		return nStr;
		
		
		nStr += '';
		x = nStr.split('.');
		x1 = x[0];
		x2 = x.length > 1 ? '.' + x[1] : '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + '.' + '$2');
		}
		
		return x1 + x2;

	}

	function showCard() {
		$('#addShop').fadeIn("slow");
	}
	
	function showAddress(id) {
		
		$("#address_"+id).removeClass("selected");


		$(".addressEdit").each(function(){
			if ( $(this).hasClass("selected") ) {
				$(this).slideUp("normal");
				$(this).removeClass("selected");
			}
			
		});
		
		$("#address_"+id).slideDown("slow");
		$("#address_"+id).addClass("selected");

	}
	
	function closeSelector() {
		
		$("#serverSelector").slideUp("normal");
		$("#selectorC").fadeOut("normal", function() {
			$("#selectorO").fadeIn();
		});
		
		
		
	}
	
	function openSelector() {
		
		
		$("#serverSelector").slideDown("normal");
		$("#selectorO").fadeOut("normal", function() {
			$("#selectorC").fadeIn();
		});
		
		
		
		
	}
	
	function showAdvanced() {
		
		$('#selectorAd').toggle();
		
		
		if($('#selectorAd').is(':visible')) {
			$('#adv').attr("open",1);
		}
		else {
			$('#adv').attr("open",0);		
		}
	}
	
	function checkPromo() {
		
		var promo = $("#promo").val();
		loadPage("index.php?page=AJAXorder","checkPromo","f=checkPromo&promo="+promo); 
		
	}
	
	function checkAssemblage() {
		
		var date = $("#date").val();
		loadPage("index.php?page=AJAXorder","checkAssemblage","f=checkAssemblage&date="+date); 
		
	}
	
	function checkVat() {
		
		var spaceFix = /[^0-9A-Za-z]/g;
		
		var vat = $("#vat").val();
		vat = vat.replace(spaceFix,"");
		$("#vat").val(vat);
		
  		if (checkVATNumber(vat)) {
    		loadPage("index.php?page=AJAXlayout","checkVat","f=checkVat&vat=true"); 
  		}  
  		else {
  			loadPage("index.php?page=AJAXlayout","checkVat","f=checkVat&vat="+vat); 
  		}
		
	}
	
	function resetSelector() {
		
		group = $("#group").val();
		
		$("#serverSelector select").each(function(){
			this.options[0].selected = true;
		});
		
		target 	= "shopOverview";
		loadPage("index.php?page=AJAXshop",target,"f=filter&reset=1&group="+group); 
	}
	
	function hideError(target) {
		
		$("#"+target).slideUp("slow");
		
	}
	
	
	 function serverSelector(id) {
	  	//$("#serverSelector select").change( function() {
	    	var target;
	    	var selVal;
	     	var id;
	     	
	     	
	     	id  	= "field_"+id;
	    	selVal	= $("#"+id).val();
	     	target 	= "shopOverview";
	     	group = $("#group").val();
	     	
	     	loadPage("index.php?page=AJAXshop",target,"f=filter&field="+id+"&option="+selVal+"&group="+group); 
	    	
	 };
	 
	 
	 
	function moreCompare() {
		
		//if(expandedCompare != 1) {
		if(!$('#compareBox').is(':visible')) {
			expandedCompare = 1;
			showOverlay();
			$('#compareBox').fadeIn(500);
		}
			//$("#compareBoxIcon").removeAttr("onmouseover");
			//checkCompare();
		//}
	}
	
	function checkCompare() {
		
		/*if(!$('#compareBox').is(':visible')) {
			$('#compareBox').show();
			
			//expandedCompare = 1;
		}

		h = $('#compareBox').height();
		$("#compareBoxIcon").css( { height: h+"px" } );
		*/
		
		
	}
	
	function restoreCompare() {
	
		if($('#compareBox').is(':visible')) {
			
			expandedCompare = 0;
			hideOverlay();
			$('#compareBox').fadeOut(500);
			$(".compareTimer").hide();
			clearTimeout(timer);
		}
		//$("#compareBoxIcon").attr("onmouseover","moreCompare()");

	}

	
	function ___getPageSize() {
		var xScroll, yScroll;
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		var windowWidth, windowHeight;
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
		return arrayPageSize;
	};
	
	function ArrayToGet(array,suffix) {
		var pars;
		for( var i = 0, n = array.length;  i < n;  ++i ) {
	        el = array[i];
	        pars += "&"+suffix+"_"+i+"="+el;
	    }
	    
	    return pars;
	}
	
	
	function checkPreviewProduct(p) {
		
		st = $('#url_'+p).attr("collapse");
		
		if(st==1) {
			$("#product_"+p).slideDown();
			$('#url_'+p).attr("collapse",0);
			
		}
		else {
			$('#product_'+p).toggle();
		}
		
	}
}
		