

/*ajax*/

//initiate XMLHttpReguest

function changestatus(strURL)
  {
    var xmlHttpReq = false;
    var self = this;
    
	// Mozilla/Safari
    if (window.XMLHttpRequest)
	  {
        self.xmlHttpReq = new XMLHttpRequest();
      }
    // IE
    else if (window.ActiveXObject)
	      {
            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
          }
		  
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function()
	  {
        if (self.xmlHttpReq.readyState == 4)
		  {
           // updatepage(self.xmlHttpReq.responseText);
          }
      }
    self.xmlHttpReq.send(getquerystring());
  }


function xmlhttpPost(strURL,div,div2,message,sw)
  {
    var xmlHttpReq = false;
    
    // Mozilla/Safari
    if (window.XMLHttpRequest)
	  {
        xmlHttpReq = new XMLHttpRequest();
      }
    // IE
    else if (window.ActiveXObject)
	  {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }
    
	xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function()
	  {
        if (xmlHttpReq.readyState == 4)
	      {
            if(sw)
			  {												   
			    updatepage(message+xmlHttpReq.responseText,div);
			    switch (div) {
			    	case 'attribute_list_':
			    		refresh_idetifier_list();
			    		break;
			    }
			    if(div2!='')      		
			      updatepage(xmlHttpReq.responseText,div2);
			  }
		  }
      }
    xmlHttpReq.send(getquerystring());
  }
  

function xmlhttpPost2(strURL)
  {
    var xmlHttpReq = false;
    var self = this;
        
    // Mozilla/Safari
    if (window.XMLHttpRequest)
	  {
        self.xmlHttpReq = new XMLHttpRequest();
      }
    // IE
    else if (window.ActiveXObject)
	  {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }
    
	self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function()
	  {
        if (self.xmlHttpReq.readyState == 4)
	      {
		  	  ;
		  }
      }
    self.xmlHttpReq.send(getquerystring());
  }


function getquerystring()
  {
  }

function updatepage(str,div)
  {								
   document.getElementById(div).innerHTML = str;
  }

/*ajax*/

/*browser*/

function isie6() {
	
	var nVer = navigator.appVersion;
	var nAgt = navigator.userAgent;
	var browserName  = '';
	var fullVersion  = 0; 
	var majorVersion = 0;

	
	// In Internet Explorer, the true version is after "MSIE" in userAgent
	if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
		browserName  = "Microsoft Internet Explorer";
		fullVersion  = parseFloat(nAgt.substring(verOffset+5));
		majorVersion = parseInt(''+fullVersion);
		
		if (majorVersion==6) {
			return true;			
		}
	}
	
	return false;
	
}


/**/

function show_scrolls(v) {
	if (isie6()) {
		var elements=document.getElementsByTagName('select');
		for (var i=0; i<elements.length; i++) {		
			if (elements[i].id!='year' && elements[i].id!='month')
				elements[i].style.visibility=v;
		}
	}
}

function getScrollCoordinates(direction) { 
	if (direction=='w')
		return (document.all)?document.body.scrollLeft:window.pageXOffset;
	if (direction=='h')
		return (document.all)?document.body.scrollTop:window.pageYOffset;	
} 

function getPageSizeWithScroll(direction)
{     
		if (window.innerHeight && window.scrollMaxY) 
		{
			// Firefox         
			yWithScroll = window.innerHeight + window.scrollMaxY;
			xWithScroll = window.innerWidth + window.scrollMaxX;     
		} else if (document.body.scrollHeight > document.body.offsetHeight)
		{ // all but Explorer Mac         
			yWithScroll = document.body.scrollHeight;         
			xWithScroll = document.body.scrollWidth;     
		} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari         
			yWithScroll = document.body.offsetHeight;         
			xWithScroll = document.body.offsetWidth;
		}     
		arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);     
		//alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );     
		if (direction=='w')
			return xWithScroll;
		if (direction=='h')
			return yWithScroll;
}

function getY( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
	iReturnValue += oElement.offsetTop;
	oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function getX( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
	iReturnValue += oElement.offsetLeft;
	oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

var ie=document.all;
var ns6=document.getElementById && !document.all;
var opera=window.opera;

var winwidth=0;
var winheight=0;

function getclientSize() {
	if (!winwidth)
		winwidth=ie&&!opera ? document.body.clientWidth : window.innerWidth-20;
	if (!winheight)		
		winheight=ie&&!opera ? document.body.clientHeight : window.innerHeight-20;
}

var menu_time;
function show_sub_menu(index,visible)
{			
	var length=document.getElementById('nr_of_sub').value;
	for(i=0;i<length;i++) {
		document.getElementById('submenu'+i).style.visibility='hidden';
		//document.getElementById('menu_left_'+i).className='menu_item';
	}

	var left=getX(document.getElementById('menu_left_'+index));
	var top=getY(document.getElementById('menu_left_'+index));
	
	document.getElementById('submenu'+index).style.left=left+'px';
	document.getElementById('submenu'+index).style.top=top+'px';
	
	if (visible==1) {
		if (document.getElementById('nr_of_subsub'+index).value>0)
			document.getElementById('submenu'+index).style.visibility='visible';
		//document.getElementById('menu_left_'+index).className='menu_item_selected';
	} else {
		document.getElementById('submenu'+index).style.visibility='hidden';
		//document.getElementById('menu_left_'+index).className='menu_item';
	}
}


function show_login_pass() {
	document.getElementById('login_pass').style.display='block';
	document.getElementById('login_pass').focus();
	document.getElementById('login_pass_tmp').style.display='none';
}

function hide_login_pass() {
	document.getElementById('login_pass_tmp').style.display='block';
	document.getElementById('login_pass').style.display='none';
	document.getElementById('login_pass_tmp').value='wachtwoord';
}

function format_to_float(nr) {
	var str=nr.toFixed(2);
	return str.replace(".",',');
}

function attr_resolve_disp(i) {

	var attr_sel=parseInt(document.getElementById('attr_'+i).value);
	if (document.getElementById('attr_'+i+'_'+attr_sel+'_type') && document.getElementById('attr_'+i+'_'+attr_sel+'_type').value!=0) {
		switch (parseInt(document.getElementById('attr_'+i+'_'+attr_sel+'_type').value)) {
			case 1:
				document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
				format_total();
				break;
			case 2:					
				document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
				format_total();
				break;		
			case 3:
				for (var j=0;j<document.getElementById('attrs_len_'+i).value;j++) {
					if (document.getElementById('attr_'+i+'_'+j+'_holder'))
						document.getElementById('attr_'+i+'_'+j+'_holder').style.display='none';			
				}
				document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
				format_total();
				break;	
			case 4:
				show_package_wnd();
				document.getElementById('package_wnd_inner').innerHTML=document.getElementById('buffer_field_'+i).value;
				document.getElementById('package_i').value=i;
				document.getElementById('package_j').value=attr_sel;
				select_package(document.getElementById('attr_'+i+'_'+attr_sel+'_buffer_count').value,i,attr_sel);
				break;
			case 5:
				format_total();
				break;			
			case 9:
				document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
				format_total();
				break;		
		}
	} else {	
		for (var j=0;j<document.getElementById('attrs_len_'+i).value;j++) {
			if (document.getElementById('attr_'+i+'_'+j+'_holder'))
				document.getElementById('attr_'+i+'_'+j+'_holder').style.display='none';			
		}
		format_total();
	}	
}

function format_total() {
	
	var total=0;	
	var price=0;		
	price=parseInt(document.getElementById('qt').value)*parseFloat(document.getElementById('price').value);
	costs=parseFloat(document.getElementById('costs').value);
	shipping=parseFloat(document.getElementById('shipping').value);
	document.getElementById('qt_price').innerHTML=format_to_float(price);
	price+=costs+shipping;
	
	var attr_len=parseInt(document.getElementById('attr_lent').value);	
	for (i=0;i<attr_len;i++) {
		var attr_sel=parseInt(document.getElementById('attr_'+i).value);		
		var qt=(parseInt(document.getElementById('attr_qt_'+i).value)==1 ? parseInt(document.getElementById('qt').value) : 1);		
		if (document.getElementById('attr_'+i+'_'+attr_sel+'_value')) {
			var attr_value=parseFloat(document.getElementById('attr_'+i+'_'+attr_sel+'_value').value)*qt;
			document.getElementById('attr_'+i+'_holder').innerHTML=format_to_float(attr_value);
			total+=attr_value;		
			
			if (document.getElementById('attr_'+i+'_'+attr_sel+'_type')) {			
				switch (parseInt(document.getElementById('attr_'+i+'_'+attr_sel+'_type').value)) {
					case 1:
						//document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
						break;
					case 2:					
						//document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';
						break;		
					case 3:
						//for (var j=0;j<document.getElementById('attrs_len_'+i).value;j++) {
						//	if (document.getElementById('attr_'+i+'_'+j+'_holder'))
						//		document.getElementById('attr_'+i+'_'+j+'_holder').style.display='none';			
						//}
						//document.getElementById('attr_'+i+'_'+attr_sel+'_holder').style.display='';						
						break;	
					case 4:
						//show_package_wnd();
						//document.getElementById('package_wnd_inner').innerHTML=document.getElementById('buffer_field_'+i).value;
						//document.getElementById('package_i').value=i;
						//document.getElementById('package_j').value=attr_sel;
						//select_package(document.getElementById('attr_'+i+'_'+attr_sel+'_buffer_count').value,i,attr_sel);
						break;
											
				}
			} else {				
				//for (var j=0;j<document.getElementById('attrs_len_'+i).value;j++) {
				//	if (document.getElementById('attr_'+i+'_'+j+'_holder'))
				//		document.getElementById('attr_'+i+'_'+j+'_holder').style.display='none';			
				//}
				;
			}
		}
	}
	
	var attr_len=parseInt(document.getElementById('attr_lent').value);
	for (i=0;i<attr_len;i++) {
		
	}
	
	total+=price;
		
	document.getElementById('total_holder').innerHTML="<b>"+format_to_float(total)+"</b>";
	document.getElementById('costs_holder').innerHTML="<b>"+format_to_float(costs)+"</b>";
	document.getElementById('shipping_holder').innerHTML="<b>"+format_to_float(shipping)+"</b>";
	
}


function unselect_all_package() {	
	if (document.getElementById('package_len'))
		for (i=0;i<document.getElementById('package_len').value;i++)
			document.getElementById('package_'+i).className='package_holder';
}

function select_package(index,i,j) {
	unselect_all_package();
	document.getElementById('package_'+index).className='package_holder_sel';
	for (i_=0;i_<document.getElementById('attr_'+i).options.length;i_++)
		if (document.getElementById('attr_'+i).options[i_].value==j) {
			document.getElementById('attr_'+i).selectedIndex=i_;
			break;
		}
			
	for (var j_=0;j_<document.getElementById('attrs_len_'+i).value;j_++) {
		if (document.getElementById('attr_'+i+'_'+j_+'_holder'))
			document.getElementById('attr_'+i+'_'+j_+'_holder').style.display='none';			
	}
	document.getElementById('attr_'+i+'_'+j+'_holder').style.display='';
	format_total();
}

function open_psel(i,attr_sel) {
	show_package_wnd();
	document.getElementById('package_wnd_inner').innerHTML=document.getElementById('buffer_field_'+i).value;
	document.getElementById('package_i').value=i;
	document.getElementById('package_j').value=attr_sel;
	select_package(document.getElementById('attr_'+i+'_'+attr_sel+'_buffer_count').value,i,attr_sel);	
}

var file_sel_wnd=null;

function open_file_selector(i,v) {
	var w=600;
	if (screen.width)
		w=screen.width-200;
	var h=400;
	if (screen.height)
		h=screen.height-200;
	file_sel_wnd=window.open((host ? host : "")+'select_file.php?i='+escape(i)+'&v='+v,'filewnd','status=yes,toolbar=no,location=no,menubar=no,directories=no,resizable=true,scrollbars=yes,height='+h+',width='+w);
}


function delete_picture(file) {
	if (confirm('Verwijderen?')) {
		document.getElementById('delete_form').command.value="delete";
		document.getElementById('delete_form').file.value=file;
		document.getElementById('delete_form').submit();
	}
}

function show_package_wnd() {
	show_black();	
	document.getElementById('package_wnd').style.top=600;
	document.getElementById('package_wnd').style.left=getX(document.getElementById('main_doc'))+140;
	document.getElementById('package_wnd').style.display='inline';
	document.getElementById('package_annuleren').focus();
}

function hide_package_wnd() {
	hide_black();
	document.getElementById('package_wnd').style.display='none';
}

function show_upload() {
	show_black();
	document.getElementById('upload_wnd').style.top='230px';
	document.getElementById('upload_wnd').style.left=getX(document.getElementById('main_doc'))+250;
	document.getElementById('upload_wnd').style.display='inline';
}

function hide_upload() {
	hide_black();
	document.getElementById('upload_wnd').style.display='none';
}

function show_black() {
	page_height=getPageSizeWithScroll('h');
	show_scrolls('hidden');
	document.getElementById('black_wall').className='black_wall_1';		
	document.getElementById('black_wall').style.height=page_height;		
}

function hide_black() {
	show_scrolls('visible');
	document.getElementById('black_wall').className='black_wall_0';			
}

function do_upload() {
	document.getElementById('upload_form').command.value="upload";
	document.getElementById('upload_form').submit();
}

function select_image(i,j,img,src) {
	if (opener.document.getElementById('attr_'+i+'_'+j+'_file')) {
		opener.document.getElementById('attr_'+i+'_'+j+'_file').value=img;	
		opener.document.getElementById('attr_'+i+'_'+j+'_file_name').style.display='none';
		opener.document.getElementById('attr_'+i+'_'+j+'_thumb').src="";
		opener.document.getElementById('attr_'+i+'_'+j+'_thumb').src=src;
		opener.document.getElementById('attr_'+i+'_'+j+'_thumb').style.display='';		
	}
	self.close();
}

function select_file(i,j,file,name,url) {
	if (opener.document.getElementById('attr_'+i+'_'+j+'_file')) {
		opener.document.getElementById('attr_'+i+'_'+j+'_file').value=file;
		opener.document.getElementById('attr_'+i+'_'+j+'_thumb').style.display='none';
		opener.document.getElementById('attr_'+i+'_'+j+'_file_name').style.display='';
		opener.document.getElementById('attr_'+i+'_'+j+'_file_name').innerHTML="<a href=\""+url+"\">"+name+"</a>";
	}
	self.close();
}

function add_to_basket() {
	document.getElementById('product_form').command.value='add';
	document.getElementById('product_form').submit();
}

function delete_bascket_item(index) {
	if (confirm('Weet u zeker dat u dit item uit het winkelwagentje wilt verwijderen?')) {
		document.getElementById('delete_form').id.value=index;
		document.getElementById('delete_form').command.value='remove_item';
		document.getElementById('delete_form').submit();	
	}
}

function edit_bascket_item(index) {
	document.getElementById('edit_form').id.value=index;
	document.getElementById('edit_form').command.value='edit_item';
	document.getElementById('edit_form').submit();	
}

function save_basket_item() {
	document.getElementById('product_form').command.value='update';
	document.getElementById('product_form').submit();	
}	

function go_to_checkout() {
	window.location=(host ? host : "")+"index.php?com=webshop&checkout=detail";
}

function checkout_confirmed() {
	document.getElementById('order_form').command.value='send_order';
	document.getElementById('order_form').submit();	
}

function show_order_detail(i) {
	if (document.getElementById('holder_'+i).style.display=='none') {
		document.getElementById('holder_'+i).style.display='';
		document.getElementById('sign_'+i).className='minus';		
	} else {
		document.getElementById('holder_'+i).style.display='none';
		document.getElementById('sign_'+i).className='plus'
	}
}

//

function  check_pp_recovery(obj) {
	if (obj.email.value.length==0)
		return false;
	return true;
}

function start_ch_timer(speed) {
	if (speed==0) {
		window.location=(host ? host : "")+'index.php?com=webshop&checkout=detail';
		return;
	}		
	window.setTimeout('start_ch_timer('+parseInt(speed-1)+');',1000);
	document.getElementById('timer').innerHTML=parseInt(speed);
}



function area_limit(field,limit) {
	if (limit!=0) {
		var n = field.value.length
		if (n > limit)
			field.value = field.value.substring(0, limit);		
	}
}

//
function open_data_selector(i,j) {
	show_black();
	document.getElementById('datum_wnd').style.top=600;
	document.getElementById('datum_wnd').style.left=getX(document.getElementById('main_doc'))+290;
	document.getElementById('datum_wnd').style.display='inline';
	document.getElementById('datum_wnd_inner').innerHTML='<table width="300" style="height: 200px;"><tr><td align=center valign=middle><img src="'+host+'img/loader.gif" width=15 height=15 border=0></td></tr></table>';
	xmlhttpPost(host+"calendar.php?&sel="+document.getElementById('attr_'+i+'_'+j+'_dsel').value+"&limit="+document.getElementById('attr_'+i+'_'+j+'_limit').value+"&date="+document.getElementById('attr_'+i+'_'+j+'_date').value+"&i="+i+"&j="+j,'datum_wnd_inner','','',1);	
}

function hide_data_selector() {
	hide_black();
	document.getElementById('datum_wnd_inner').innerHTML='';
	document.getElementById('datum_wnd').style.display='none';	
}

function load_calendar(i,j,limit,date,sel) {
	xmlhttpPost(host+"calendar.php?&sel="+sel+"&limit="+limit+"&date="+date+"&i="+i+"&j="+j,'datum_wnd_inner','','',1);	
}

function selectDate(i,j,sel,sel_disp) {	
	document.getElementById('attr_'+i+'_'+j+'_dsel').value=sel;
	document.getElementById('attr_'+i+'_'+j+'_date').value=sel;
	document.getElementById('datum_display_'+i+'_'+j).innerHTML=sel_disp;
	hide_data_selector();
}