
/// MAIN FUNCTIONS /// 

function $(id)
{

return document.getElementById(id);
}
function hide(id)
{

$(id).style.display = 'none';
}
function show(id)
{
$(id).style.display = 'block';
}
function isHidden(id)
{
if($(id).style.display == 'none')
return true;
else
return false;
}
function V_switch(id)
{
if(isHidden(id))
show(id);
else
hide(id);
}
function moveto(url)
{
	window.location = url;	
}
function movetoandclearcookie(url)
{
	setCookie("basket", '', 30, '/', '', '');	
	
	window.location = url;	
}
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

/// MAIN FUNCTIONS ///
/// AJAX  FUNCTIONS ///
var lasturl = "";
function processData(responseText, responseStatus)
 { 
	
	//document.getElementById('loadingbar').style.display ='none';
	if (responseStatus==200) // succes
	{
	
		if(responseText == 'error')
						alert('Error updating data!'+responseText);
		else
		{
			
			eval(responseText);
			
		}
	 }
	else if(responseStatus == 0)
	{
	
	}
	else 
	{ 
	   alert(responseStatus + ' -- Error Processing Request to '+lasturl);
	}
  }
function ajaxObject(url) {
	  var that=this;      
	   this.updating = false;
		  this.abort = function() {
				that.AJAX.onreadystatechange = function () {}
			  that.updating=false;
			  that.AJAX.abort();
			  that.AJAX=null;
			
		  }
	  this.update = function(form,postMethod) { 
	  	lasturl = urlCall;
		if(lasturl == "undefined") that.abort();
		if(that.updating) that.abort();
		 that.AJAX = null;                      
		 var passData = getFormValues(form,"validate");
		 
		 
				
		if (window.XMLHttpRequest) {              
		  that.AJAX=new XMLHttpRequest();              
		} else {                                  
		  that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		}                                             
		if (that.AJAX==null) {                             
		  return false;                               
		} else {
		
			
			  that.AJAX.onreadystatechange = function() {  
				if (that.AJAX.readyState==4) {             
				  that.updating=false;                
				  that.callback(that.AJAX.responseText,that.AJAX.status);        
				  that.AJAX=null;                                         
				} 
				}
			                                                
		  that.updating = new Date();                              
		  if (/post/i.test(postMethod)) {
			var uri=urlCall+'?'+that.updating.getTime();
			that.AJAX.open("POST", uri, true);
			that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
			that.AJAX.setRequestHeader("Content-Length", passData.length);
			that.AJAX.send(passData);
		  } else {
			var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
			that.AJAX.open("GET", uri, true);                             
			that.AJAX.send(null);                                         
		  }              
		  return true;                                             
		}                                                                           
	  }
	  var urlCall = url;        
	  this.callback = processData;
	  }
	  
	
function getFormValues(fobj,valFunc, url) 

{ 
	lasturl = url;

   var str = ""; 

   var valueArr = null; 

   var val = ""; 

   var cmd = ""; 

   for(var i = 0;i < fobj.elements.length;i++) 

   { 

	   switch(fobj.elements[i].type) 

	   { 
		case "checkbox":
				var myval = fobj.elements[i].checked;
				if(myval) 
					myval = 1;
				else
					myval = 0;								   
			   str += fobj.elements[i].name + 

				"=" + myval + "&"; 

				   break; 
		  case "textarea":
			 str += fobj.elements[i].name + 

					 "=" + escape(fobj.elements[i].value) + "&"; 
					 break; 
	   
			case "password":
				str += fobj.elements[i].name + 

					 "=" + escape(fobj.elements[i].value) + "&"; 

					  break; 
			case "hidden":
				str += fobj.elements[i].name + 

				 "=" + (fobj.elements[i].value) + "&"; 
				  break; 
		   case "text": 

						
				str += fobj.elements[i].name + 

				 "=" + escape(fobj.elements[i].value) + "&"; 

				 break; 

		   case "select-one": 

				str += fobj.elements[i].name + 

				"=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&"; 

				break; 

	   } 

   } 
						
			
				 
				 
   str = str.substr(0,(str.length - 1)); 

   return str; 

}

function getbroodje(id)
{
	$('broodje_id').value = id;
	myRequest.update($('broodje_ajax_form'),'POST');
	
}
function register()
{
	myRegRequest.update($('register_ajax_form'),'POST');
}
function login()
{
	myLoginRequest.update($('login_ajax_form'),'POST');
}
function forgotpw()
{
	myForgotPwRequest.update($('forgotpw_ajax_form'),'POST');
}
function account()
{
	myAccountRequest.update($('account_form'),'POST');
}	
function changeInfo()
{
	account();
}	
function order()
{
	myOrderRequest.update($('order_form'),'POST');
}	
/// AJAX  FUNCTIONS ///
/// MYRGB  FUNCTIONS ///
function addListener(element, type, expression)
{
if(window.addEventListener)	
{
 // Standard
 element.addEventListener(type, expression, false);
 return true;
 }
  else if(window.attachEvent)
   { // IE	
	element.attachEvent('on' + type, expression);	
	return true;	
}
 else return false;
}

addListener(document, "keyup", function (e) { if (!e) { e = event; } if (e.keyCode == 27) { document.location.href = "http://www.myrgb.be"; } } );
/// MYRGB  FUNCTIONS ///

/// GALLERY_TWEEN  FUNCTIONS ///
var currenti = 0;
var currentj = 0;
var currentx = 0;
var currenty = 0;
var currentx2 = 0;
var currenty2 = 0;

var busytween = 0;

function previous()
{
	if(busytween) return;
	busytween = true;
	oldx = currentx;
	oldy = currenty;
	oldx2 = currentx2;
	oldy2 = currenty2;
	currenti--;
	if(Math.abs(currenti)%3 == 2 || currenti == -1)
	{
		currenti = 2; currentj--;
	}
	if(currentj == -1 ) { currentj= 2; currenti = 2;}
	currentx = -currenti*353;
	currenty = -currentj*265;
	currentx2 = -currenti*200;
	currenty2 = -currentj*25;
	
	t1 = new Tween( $('foto_abs_container').style,'left',Tween.regularEaseOut,oldx,currentx,0.85,'px');
	t1.start();
	t2= new Tween( $('foto_abs_container').style,'top',Tween.regularEaseOut,oldy,currenty,0.85,'px');
	t2.start();
	t3 = new Tween( $('abs_container').style,'left',Tween.regularEaseOut,oldx2,currentx2,0.85,'px');
	t3.start();
	t4= new Tween( $('abs_container').style,'top',Tween.regularEaseOut,oldy2,currenty2,0.85,'px');
	t4.start();
	
	t1.onMotionFinished = function(){
	    busytween = false;
	};

}
function next()
{
	if(busytween) return;
	busytween = true;
	oldx = currentx;
	oldy = currenty;
	oldx2 = currentx2;
	oldy2 = currenty2;
	
	currenti++;
	if(currenti%3 == 0)
	{
		currenti = 0; currentj++;
	}
	if(currentj == 3 ) { currentj= 0; currenti = 0;}
	currentx = -currenti*353;
	currenty = -currentj*265;
	currentx2 = -currenti*200;
	currenty2 = -currentj*25;
	t1 = new Tween( $('foto_abs_container').style,'left',Tween.regularEaseOut,oldx,currentx,0.85 ,'px');
	t1.start();
	t2= new Tween( $('foto_abs_container').style,'top',Tween.regularEaseOut,oldy,currenty,0.85,'px');
	t2.start();
	t3 = new Tween( $('abs_container').style,'left',Tween.regularEaseOut,oldx2,currentx2,0.85,'px');
	t3.start();
	t4= new Tween( $('abs_container').style,'top',Tween.regularEaseOut,oldy2,currenty2,0.85,'px');
	t4.start();
	

	
	t1.onMotionFinished = function(){
	    busytween = false;
	};
	
	
}
/// GALLERY_TWEEN  FUNCTIONS ///
/// BASKET COOKIE  FUNCTIONS ///

/* cart functions */
var baseurl = "http://www.eat-it.be/";
var stricturl = "http://www.eat-it.be/";

//////////// SHOPPING CART start
function setCookie( name, value, expires, path, domain, secure )
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );


if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );

  if ( results )
	return ( unescape ( results[1] ) );
  else
	return '';
}	
// array for option parsing
var group_option_arrays = new Array();

function add(new_item){
	var side = new_item;
	var myobj = document.getElementById('gotocart_nr_'+new_item);
	
	var myit = document.getElementById('amountcart_nr_it'+new_item);			
	var myamnr = document.getElementById('amountcart_nr_'+new_item);

	
	// find out all the options
	//var p_type = ''+( parseInt($('type').options[$('type').selectedIndex].value)) ;
	var group_id = $('group_id').value;
	var group_options  = group_option_arrays[group_id];
	
	for(var i = 0 ; i < group_options.length; i++)
	{
		// get the value
		var option_id = group_options[i];
		var selecter = $('option_'+option_id);
		var value = parseInt(selecter.options[selecter.selectedIndex].value);
		
		new_item = new_item+"_"+option_id+"_"+value+"";	// append
	}
		
	// parse new object string
	
	

	var old_amount = deleteOrderReturnAmount(new_item);
	basket_string = get_cookie("basket");
	
	var p_fid = ''+( parseInt($('aantal').options[$('aantal').selectedIndex].value) + parseInt(old_amount));
	
		if(basket_string == '' || basket_string == null)
		basket_string = new_item + 'fff' + p_fid;
	else
		basket_string = basket_string + "xxx" + new_item + 'fff' + p_fid;
	
	setCookie("basket", basket_string, 30, '/', '', '');
	
	
	getbroodje( side);
	
}
function confirmDeleteOrder(id)
{

	
	  if (confirm("Bent u zeker dat u dit product wilt verwijderen uit het winkelmandje?")) {
		deleteOrder(id);
	  }
	
}
function deleteOrder(id)
{
	basketstr = get_cookie("basket");
	new_basketstr = "";
	
	if(basketstr == "")return;
	
	var myarray = basketstr.split("xxx");
	var found = false;

	for(var i = 0; i<myarray.length;i++)
	{
		var temparray = myarray[i].split("=");
		var tmp = temparray[0].split("fff");
		
		if(id != tmp[0] || found)
		{
			
			if(i > 0) new_basketstr += "xxx";
			new_basketstr += temparray[0];			
		}else
		{found = true;}
	}	
	
	//alert(new_basketstr);
	setCookie("basket", new_basketstr, 30, '/', '', '');	
	
	
	
	window.location = 'http://www.eat-it.be/winkelmandje';
}

function deleteOrderReturnAmount(id)
{
	basketstr = get_cookie("basket");
	
	new_basketstr = "";
	var found_amount = 0;
		if(basketstr == "")return found_amount;
	
	var myarray = basketstr.split("xxx");
	var found = false;

	for(var i = 0; i<myarray.length;i++)
	{
		var temparray = myarray[i].split("=");
		
		var tmp = temparray[0].split("fff");
		if(id != tmp[0] || found)
		{
			
			if(i > 0) new_basketstr += "xxx";
			new_basketstr += temparray[0];			
		}else
		{
			found = true;
			found_amount = tmp[1];
			
			
		}
	}	
	
	
	setCookie("basket", new_basketstr, 30, '/', '', '');	
	
	return found_amount;
}



/// BASKET COOKIE  FUNCTIONS ///
/// SHOP  FUNCTIONS ///
function confirmOrder()
{
	if(confirm("Bent u zeker dat u deze bestelling wilt vastleggen?"))
	{
		$('levermethode_ajax').value = $('leverOptionsSelect').options[$('leverOptionsSelect').selectedIndex].value;
		$('opm_ajax').value = $('opmerkingen').value;
		
		order();
	}
}
/// SHOP  FUNCTIONS ///
/// REGFORM  FUNCTIONS ///
function goRegisterForm(bool)
{
	if(bool == 1 ) show('company_form'); else hide('company_form');	
}
function goRegisterForm2(bool)
{
	if(!bool)hide('facturatie_adres_form');else show('facturatie_adres_form');

}
function submitenter(myfield,e)
	{
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;
		
		if (keycode == 13)
		   {
			  doLogin();
			  return false;
		   }
		else
			 return true;
	}
function submitenter2(myfield,e)
	{
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;
		
		if (keycode == 13)
		   {
			  doForgotPw();
			  return false;
		   }
		else
			 return true;
	}
function showforgotpw()
{
		hide('loginform_container');
		show('forgotpw_container');
}	
function hideforgotpw()
{
	show('loginform_container');
	hide('forgotpw_container');
}
/// REGFORM  FUNCTIONS ///

/// GEOMAPPING  FUNCTIONS ///

var geocoder, location1, location2, gDir;
var lever_option = false;

function displayLeverOptions()
{
	if(!lever_option) 
	{
		
		$('result_geomap2').innerHTML = "De afstand tot uw locatie is groter dan 10km. <br />Er is geen leverdienst voorzien, de bestelling moet worden afgehaald.";	
		$('leverOptionsSelect').selectedIndex = 1;
		$('levering_option').disabled = 'disabled';
	}else
		$('result_geomap2').innerHTML = "De afstand tot uw locatie is kleiner dan 10km. Er is een gratis leverdienst voorzien.";	
		

}
function initialize() {
	geocoder = new GClientGeocoder();
		
	gDir = new GDirections();
	GEvent.addListener(gDir, "load", function() {
		var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
		var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
		$('result_geomap').innerHTML = '<strong>Winkel locatie:</strong> Brugsevaart 170, 9030 Mariakerke <br /><strong>Uw locatie: </strong>' + location2.address + '<br /><strong>Rij-afstand: </strong>' + drivingDistanceKilometers + ' kilometers';
		
		if( drivingDistanceKilometers <= 10.00)
			lever_option = true;
			
		displayLeverOptions();
	});
	
	showLocationG();
}
 
function showLocationG() {

	geocoder.getLocations( $('address1').value, function (response) {
		if (!response || response.Status.code != 200)
		{
					$('leverOptionsSelect').selectedIndex = 1;
		$('levering_option').disabled = 'disabled';
			alert("Sorry, we konden uw adres niet vinden. Enkel de afhaal-optie is mogelijk.");
		}
		else
		{
			location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
			geocoder.getLocations( $('address2').value, function (response) {
				if (!response || response.Status.code != 200)
				{
							$('leverOptionsSelect').selectedIndex = 1;
		$('levering_option').disabled = 'disabled';
					alert("Sorry, we konden uw adres niet vinden. Enkel de afhaal-optie is mogelijk.");
				}
				else
				{
					location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};		
					
					gDir.load('from: ' + location1.address + ' to: ' + location2.address);
				}
			});
		}
	});
}

/// GEOMAPPING  FUNCTIONS ///

/// DISPLAY  FUNCTIONS ///
var amount_foodgroups = 0;
var array_fg_firsts = new Array();
function display(id)
{
	for(var i = 0; i < amount_foodgroups; i++)
	{
		removeClass($('fglink_'+i), 'active_group');
		hide('fg_'+i);	
	}
	addClass( $('fglink_'+id), 'active_group');
	show('fg_'+id);
	
	var get_id = array_fg_firsts[id];
	if(get_id != null)
	getbroodje(get_id);
}
/// DISPLAY  FUNCTIONS ///
