
/*
 * Standaard variabelen
 */
var searchReq 			= getXmlHttpRequestObject();
var WinkelID 			= 0;
var OpenDiv				= new Array();
var Fouten				= new Array();


/*
 * Diverse math-functies
 */

function isInt(x)
{ 
	var y=parseInt(x); 
	if (isNaN(y)) {return false;} else { return x==y && x.toString()==y.toString();}
}

function Afronden(ID, y, Min, Max, PosX, PosY)
{
	var el 		= document.getElementById(ID); 

	var Waarde 	= el.value;

	if (!isInt(Waarde) || Waarde < Min || Waarde > Max || !isInt(Waarde / y))
	{
		Fouten[ID]					= true;
		var Foutmelding				= document.getElementById('Foutmelding' + ID.replace('Input', ''));
		Foutmelding.style.top 		= PosY + 'px';
		Foutmelding.style.left 		= PosX + 'px';
		Foutmelding.style.display	= "";
	}
	else
	{
		Fouten[ID]					= false;
		var Foutmelding 			= document.getElementById('Foutmelding' + ID.replace('Input', ''));
		Foutmelding.style.display	= "none";
	}
}

/*
 * Inputcontroles
 */

function CheckInput(ID, Min, Max, Veelvoud, PosX, PosY)
{
	var el = document.getElementById(ID); 

	// Check of het een getal is
	
	var Waarde = el.value;

	if (Waarde)
	{
		if (!isInt(Waarde) || Waarde < Min || Waarde > Max)
		{
			Fouten[ID]					= true;
			var Foutmelding				= document.getElementById('Foutmelding' + ID.replace('Input', ''));
			Foutmelding.style.top 		= PosY + 'px';
			Foutmelding.style.left 		= PosX + 'px';
			Foutmelding.style.display	= "";
		}
		else
		{
			Fouten[ID]			= false;

			var Foutmelding 		= document.getElementById('Foutmelding' + ID.replace('Input', ''));
			Foutmelding.style.display	= "none";
		}
	}
	
}


/*
 * Check formulieren
 */

function checkFormulierReminder()
{
	var selObj = document.getElementById('Maand');
	var selIndex = selObj.selectedIndex;
	var Maand = selObj.options[selIndex].value;

	var selObj = document.getElementById('Jaar');
	var selIndex = selObj.selectedIndex;
	var Jaar = selObj.options[selIndex].value;

	// Check op emailadres

	var email = document.getElementById('EmailadresReminder');
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email.value)) 
	{
		alert('Emailadres is niet correct');
		return false;
	}

	var Maand = document.getElementById('Maand').value;
	if (!isInt(Maand) || Maand < 1 || Maand > 12) 
	{
		alert('Datum (maand) is niet correct');
		return false;
	}

	var Jaar = document.getElementById('Jaar').value;
	if (!isInt(Jaar) || Jaar < 2008 || Jaar > 2013) 
	{
		alert('Datum (jaar) is niet correct');
		return false;
	}


}

function checkFormulierNieuwsbrief()
{
	var email = document.getElementById('EmailadresNieuwsbrief');
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email.value)) 
	{
		alert('Emailadres is niet correct');
		return false;
	}
}

/*
 * Overzicht verversen
 */

function URLBepalen(obj, getstr) 
{
	var getstr = '/index.htm?';
      	for (i=0; i<obj.childNodes.length; i++) 
	{
		if (obj.childNodes[i].tagName == "INPUT") 
		{
			
			if (obj.childNodes[i].type == "text" || obj.childNodes[i].type == "hidden") 
			{
				getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            		}

			if (obj.childNodes[i].type == "checkbox") 
			{
				if (obj.childNodes[i].checked) 
				{
					getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               			}
				else
				{
					getstr += obj.childNodes[i].name + "=&";
               			}
            		}

			if (obj.childNodes[i].type == "radio") 
			{
               			if (obj.childNodes[i].checked) 
				{
                  			getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               			}
            		}
         	} 
		else if(obj.childNodes[i].childNodes.length) 
		{
		     	for (j=0; j<obj.childNodes[i].childNodes.length; j++) 
			{
				if (obj.childNodes[i].childNodes[j].tagName == "INPUT") 
				{
					if (obj.childNodes[i].childNodes[j].type == "text" || obj.childNodes[i].childNodes[j].type == "hidden")
					{
						getstr += obj.childNodes[i].childNodes[j].name + "=" + obj.childNodes[i].childNodes[j].value + "&";
		            		}
	
					if (obj.childNodes[i].childNodes[j].type == "checkbox") 
					{
						if (obj.childNodes[i].childNodes[j].checked) 
						{
							getstr += obj.childNodes[i].childNodes[j].name + "=" + obj.childNodes[i].childNodes[j].value + "&";
		               			}
						else
						{
							getstr += obj.childNodes[i].childNodes[j].name + "=&";
	        	       			}
	            			}
	
					if (obj.childNodes[i].childNodes[j].type == "radio") 
					{
	               		if (obj.childNodes[i].childNodes[j].checked) 
						{
	                  		getstr += obj.childNodes[i].childNodes[j].name + "=" + obj.childNodes[i].childNodes[j].value + "&";
		              	}
					}
	           	}
			}
		}
	}
	return getstr;
}


function HTMLLaden(URL, IDPopup, IDContent)
{
	BeeldFaden('AlertPopup', '');

	if (window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
			req = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (req != undefined) 
	{
		req.onreadystatechange = function() {HTMLAfbeelden(URL, IDPopup, IDContent);};
		req.open("GET", URL, true);
		req.send("");
	}
}  


function HTMLAfbeelden(URL, IDPopup, IDContent) 
{
	if (req.readyState == 4) 
	{ 
		if (req.status == 200) 
		{
			document.getElementById(IDContent).innerHTML = req.responseText;

			BeeldOntfaden('AlertPopup');
			if (IDPopup) {BeeldFaden(IDPopup);}
			
			// Eventuele JS uitvoeren
			
			var Delen = req.responseText.split("<!--Javascript-->");
			
			if (Delen.length > 1)
			{
				Delen[1] = Delen[1].replace("<script type='text/javascript'>", "");
				Delen[1] = Delen[1].replace("</script>", "");
				eval(Delen[1]);
			}
		} 
		else 
		{
			document.getElementById(IDContent).innerHTML=" AHAH Error:\n"+ req.status + "\n" +req.statusText;
		}
	}
}


function FlashDiv(el, count) 
{
	if (count >= 4)
	{
		return;
	}
	else if (isInt(count/2))
	{
		el.style.display = "none";
		window.setTimeout(function() {FlashDiv(el, count+1);}, 200);
	}
	else
	{
		el.style.display = "";
		window.setTimeout(function() {FlashDiv(el, count+1);}, 200);
	}
}


function FormSubmit(SorteerVeld, Pagina)
{
	var Stat = '/sortering/' + Pagina;

	pageTracker._trackPageview(Stat);
	var Verzenden = true;

// check
	
	for (var strCurrentKey in Fouten) 
	{
		if(Fouten[strCurrentKey])
		{
			var Foutmelding			= document.getElementById('Foutmelding' + strCurrentKey.replace('Input', ''));
			FlashDiv(Foutmelding, 0);

			var Verzenden = false;
		}
	}

	// check	
	if (Verzenden)
	{
		if (SorteerVeld)
		{
			// el1 = parent.document.getElementById('SorteerVolgorde');
			// el2 = parent.document.getElementById('Sorteren');
			
			el1 = document.getElementById('SorteerVolgorde');
			el2 = document.getElementById('Sorteren');
	
			if (el2.value == SorteerVeld)
			{
				if (el1.value == 'ASC')
				{
					el1.value = 'DESC';
				}
				else
				{
					el1.value = 'ASC';
				}
			}
			else
			{
				el1.value = 'ASC';
			}
			el2.value = SorteerVeld;
		}
		
		var URL = URLBepalen(document.Voorkeuren);	
		HTMLLaden(URL, '', 'DivOverzicht');	
	}

}

/*
 * Exitclick registreren
 */

function Exitclick(Categorie, Provider, ID)
{
	pageTracker._trackPageview("/clicks/" +  Provider);window.open('/redirect.htm?Categorie='+ Categorie + '&Provider=' + Provider + '&ID=' + ID);}

/*
 * Beeld faden en beeld ontfaden
 */

function BeeldFaden(ID, Top)
{
	// Niet meer mogelijk om te scrollen
	// document.body.style.overflow						= 'hidden';
	
	// Beeld faden	
	document.getElementById('Faded').style.display 		= '';
	
	// Meegestuurde ID zichtbaar maken
	document.getElementById(ID).style.display 			= '';
}

function BeeldOntfaden(ID)
{
	// Popup 'even geduld aub' verbergen
	document.getElementById('Faded').style.display 		= 'none';
	document.getElementById(ID).style.display 			= 'none';
	document.body.style.overflow 						= '';
}




/*
 * AJAX html import
 */

function getXmlHttpRequestObject()
{
	if(window.XMLHttpRequest) 
	{
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject) 
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	} 
	else 
	{
		alert("Data kon niet geladen worden. Browser issue.");
	}
}


/*
 * Pronoses afbeelden
 */


function ToonPrognosePopup(Categorie, ID, PrijsToestel)
{
	BeeldFaden("AlertPopup", '');
	var URL = BasisURL + "/prognoseteksten.htm?Categorie=" + Categorie + "&ID=" + ID +"&PrijsToestel=" + PrijsToestel;
	HTMLLaden(URL, 'PrognosePopup', 'PrognoseBox');
}

/*
 * Aanbiedingen afbeelden
 */

function ToonAanbiedingen(ID, AboID, PID, Looptijd, PrijsLos, PrijsTotaal, PrijsAbo) 
{	
	WinkelID = ID;
	
	if (OpenDiv[ID] == 'open')
	{
		var el 				= document.getElementById('Winkelaanbiedingen' + ID);
		el.style.display 	= 'none';
		OpenDiv[ID] 		= 'dicht';
		return;
	}
	else if (OpenDiv[ID] == 'dicht')
	{
		var el 				= document.getElementById('Winkelaanbiedingen' + ID);
		el.style.display 	= '';
		OpenDiv[ID] 		= 'open';
		return;
	}		
	
	// Bijhouden welke ID's al eerder geopend zijn
	OpenDiv[ID] = 'open';

	BeeldFaden('AlertPopup', '')
	URL = BasisURL + '/' + 'winkels.htm?AboID=' + AboID + '&PID=' + PID + '&Looptijd=' + Looptijd / 12 + '&PrijsLos=' + PrijsLos + '&PrijsTotaal=' + PrijsTotaal + '&PrijsAbo=' + PrijsAbo;
	HTMLLaden(URL, '', 'Winkels' + WinkelID);
}

/*
 * Toestellen popup tonen
 */

function ToestellenPopupTonen()
{
	BeeldFaden("KnopSluitenToestellen");
	BeeldFaden("ToestellenPopup");
}

/*
 * Productselectie in toestelpopup (abo-vergelijk)
 */

function WisselProduct(Merk, Product, PID)
{
	BeeldOntfaden("ToestellenPopup");
	BeeldOntfaden("KnopSluitenToestellen");

	document.getElementById("ToestelTekst").innerHTML 	=  Merk + " " + Product;
	document.getElementById("MerkProduct").value 		=  Merk + " " + Product;
	document.getElementById("PID").value 				=  PID; 
}