function isString(object)
{
	return typeof object == "string";
}

function $(element)
{
  if (arguments.length > 1)
  {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == "string")
    element = document.getElementById(element);
  return element;
}

function ToggleCompanyFields(obj)
{
	if(obj.value=="company")
	{
		if($('companyspacer'))
		{
			$('companyspacer').className="";
		}
		$('companyname').className="";
		$('btwspacer').className="";
		$('btw').className="";
		$('urlspacer').className="";
		$('url').className="";
	}
	else
	{
		if($('companyspacer'))
		{
			$('companyspacer').className="trhidden";
		}
		$('companyname').className="trhidden";
		$('btwspacer').className="trhidden";
		$('btw').className="trhidden";
		$('urlspacer').className="trhidden";
		$('url').className="trhidden";
	}
}

function ToggleS(szDivID) {
	if (document.layers)
	{ // NN4+
		if (document.layers[szDivID].visibility == "show")
		{
			document.layers[szDivID].visibility = "hide";
			document.layers[szDivID].display = "none";
		}
		else
		{
			document.layers[szDivID].visibility = "show";
			document.layers[szDivID].display = "block";
		}
	}
	else if (document.getElementById)
	{ // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		if (obj.style.visibility == "visible")
		{
			obj.style.visibility = "hidden";
			obj.style.display = "none";
		}
		else
		{
			obj.style.visibility = "visible";
			obj.style.display = "block";
		}
	}
	else if (document.all)
	{ // IE 4
		if (document.all[szDivID].style.visibility == "visible")
		{
			document.all[szDivID].style.visibility = "hidden";
			document.all[szDivID].style.display = "none";
		}
		else
		{
			document.all[szDivID].style.visibility = "visible";
			document.all[szDivID].style.display = "block";
		}
	}
}

function ToggleV(szDivID) {
	if (document.layers)
	{ // NN4+
		if (document.layers[szDivID].visibility == "show")
		{
			document.layers[szDivID].visibility = "hide";
		}
		else
		{
			document.layers[szDivID].visibility = "show";
		}
	}
	else if (document.getElementById)
	{ // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		if (obj.style.visibility == "visible")
		{
			obj.style.visibility = "hidden";
		}
		else
		{
			obj.style.visibility = "visible";
		}
	}
	else if (document.all)
	{ // IE 4
		if (document.all[szDivID].style.visibility == "visible")
		{
			document.all[szDivID].style.visibility = "hidden";
		}
		else
		{
			document.all[szDivID].style.visibility = "visible";
		}
	}
}

function ToggleBoxOn(szDivID) {
	if (document.layers) { // NN4+
		document.layers[szDivID].visibility = "show";
		document.layers[szDivID].display = "inline";
	} else if (document.getElementById) { // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.visibility = "visible";
		obj.style.display = "inline";
	} else if (document.all) { // IE 4
		document.all[szDivID].style.visibility = "visible";
		document.all[szDivID].style.display = "inline";
	}
}

function ToggleOffBusy(szDivID) {
	if (document.layers) { // NN4+
		document.layers[szDivID].visibility = "hide";
		document.layers[szDivID].display = "none";
	} else if (document.getElementById) { // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.visibility = "hidden";
		obj.style.display = "none";
	} else if (document.all) { // IE 4
		document.all[szDivID].style.visibility = "hidden";
		document.all[szDivID].style.display = "none";
	}
}

function ToggleBoxBlockOn(szDivID) {
	if (document.layers) { // NN4+
		document.layers[szDivID].visibility = "show";
		document.layers[szDivID].display = "block";
	} else if (document.getElementById) { // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.visibility = "visible";
		obj.style.display = "block";
	} else if (document.all) { // IE 4
		document.all[szDivID].style.visibility = "visible";
		document.all[szDivID].style.display = "block";
	}
}

function ToggleBlockOffBusy(szDivID) {
	if (document.layers) { // NN4+
		document.layers[szDivID].visibility = "hide";
		document.layers[szDivID].display = "block";
	} else if (document.getElementById) { // gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.visibility = "hidden";
		obj.style.display = "block";
	} else if (document.all) { // IE 4
		document.all[szDivID].style.visibility = "hidden";
		document.all[szDivID].style.display = "block";
	}
}

function Togglebgover(state,categoryno)
{
	if(state=="")
	{
		document.getElementById("hometableft"+categoryno).className = 'hometabselleft';
		document.getElementById("hometabrep"+categoryno).className = 'hometabselrep';
		document.getElementById("hometabright"+categoryno).className = 'hometabselright';
	}
}

function Togglebgout(state,categoryno)
{
	if(state=="")
	{
		document.getElementById("hometableft"+categoryno).className = 'hometableft';
		document.getElementById("hometabrep"+categoryno).className = 'hometabrep';
		document.getElementById("hometabright"+categoryno).className = 'hometabright';
	}
}

function ShowWriteReview()
{
	ToggleBoxOn('artwritereview');
}

//function GetHomepageData(catno, begin, einde, limit, pages, page, lang)
function GetProducts(from, catno, page, show, min, max, sort, lang)
{
	//$('boxheight').style.height = 'auto';
	if(from == "home")
	{
		RemoveActiveTab(catno);
	}
	else
	{
		//document.getElementById('hometab'+from).className='hometab';
		//document.getElementById('hometab260').className='hometab';
	}
	var keeper=new sack();
	//keeper.requestFile=path+"gethomepagedata.php?catno="+catno+"&begin="+begin+"&einde="+einde+"&limit="+limit+"&pages="+pages+"&page="+page+"&lang="+lang;
	keeper.requestFile=path+"getproducts.php?from="+from+"&catno="+catno+"&show="+show+"&min="+min+"&max="+max+"&page="+page+"&sort="+sort+"&lang="+lang;
	keeper.onCompletion = function()
	{
		if(from == "home")
		{
			if(document.getElementById('hometab'+catno))
			{
				document.getElementById('hometab'+catno).className='hometabselsel';
			}

			if(document.getElementById('homearts'))
			{
				document.getElementById('homearts').innerHTML=html_entity_decode(keeper.response);
			}
		}
		else
		{
			if(document.getElementById('catarts'))
			{
				document.getElementById('catarts').innerHTML=html_entity_decode(keeper.response);
			}
		}
		window.location = "#topanchor";
			//$('boxheight').style.height = $('boxheight').offsetHeight+'px';
		//document.getElementById('splash').style.display='inline';
		//document.getElementById('splash').style.opacity='1';
	};
	keeper.runAJAX();
}

function setCatSession()
{
	var keeper=new sack();
	keeper.requestFile=path+"setCatSession.php";
	keeper.onCompletion = function()
	{
		done = "true";
		
	};
	keeper.runAJAX();
}

function RemoveActiveTab(catno)
{
	//Effect.FadeOut('splash');
	var keeper=new sack();
	keeper.requestFile=path+"removeactivetab.php?catno="+catno;
	keeper.onCompletion = function()
	{
		var itemnos;
		itemnos = keeper.response;
		itemnos = itemnos.split("|");
		for(var i=itemnos.length-1; i>=0; --i )
		{
			if(document.getElementById('hometab'+itemnos[i]))
			{
				document.getElementById('hometab'+itemnos[i]).className='hometab';
			}
		}
	};
	keeper.runAJAX();
}

function GetProductsGiftsearch(simple, searchfield, defsoort, defgelegenheid, defiemand, defprijs, page, sort, lang)
{
	var keeper=new sack();
	//keeper.requestFile=path+"gethomepagedata.php?catno="+catno+"&begin="+begin+"&einde="+einde+"&limit="+limit+"&pages="+pages+"&page="+page+"&lang="+lang;
	keeper.requestFile=path+"getproductsgiftsearch.php?simple="+simple+"&searchfield="+searchfield+"&defsoort="+defsoort+"&defgelegenheid="+defgelegenheid+"&defiemand="+defiemand+"&defprijs="+defprijs+"&page="+page+"&sort="+sort+"&lang="+lang;
	keeper.onCompletion = function()
	{

		if(document.getElementById('catarts'))
		{
			document.getElementById('catarts').innerHTML=html_entity_decode(keeper.response);
		}
	};
	keeper.runAJAX();
}

function checkheight(outer,box,page)
{
	//alert (outer);
	//alert (document.getElementById(outer).offsetHeight);

	if(navigator.appName == "Microsoft Internet Explorer")
	{
		var height = document.getElementById(outer).offsetHeight;
		if(page == 'cart')
		{
			if (height < 234)
			{
				document.getElementById(outer).style.height = 234;
			}
			else
			{
				if (document.getElementById(outer).offsetHeight > document.getElementById(outer).style.height)
					document.getElementById(outer).style.height = height;
			}
		}
		else if(page == 'checkoutleft')
		{
			if (height < 359)
			{
				document.getElementById(outer).style.height = 359;
			}
			else
			{
				if (document.getElementById(outer).offsetHeight > document.getElementById(outer).style.height)
					document.getElementById(outer).style.height = height;
			}
		}
		else if(page == 'checkoutright')
		{
			if (height < 359)
			{
				document.getElementById(outer).style.height = 359;
			}
			else
			{
				if (document.getElementById(outer).offsetHeight > document.getElementById(outer).style.height)
					document.getElementById(outer).style.height = height;
			}
		}
		else if(page == 'product')
		{
			if (height < 218)
			{
				document.getElementById(outer).style.height = 218;
			}
			else
			{
				if (document.getElementById(outer).offsetHeight > document.getElementById(outer).style.height)
					document.getElementById(outer).style.height = height;
			}
		}
		else
		{
			if (height < 168)
			{
				document.getElementById(outer).style.height = 168;
			}
			else
			{
				if (document.getElementById(outer).offsetHeight > document.getElementById(outer).style.height)
					document.getElementById(outer).style.height = height;
			}
		}

		document.getElementById(box).style.height = document.getElementById(outer).offsetHeight;
		document.getElementById(outer).style.zIndex = 200;
		document.getElementById(outer).style.position = "relative";

	}
	else
	{
		document.getElementById(box).style.height = document.getElementById(outer).offsetHeight +"px;";
	}
}

/*
function checkheight(outer,box)
{
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		height = document.getElementById(outer).offsetHeight;

			if (height < 168)
			{
				document.getElementById(outer).style.height = 168;
			}

		document.getElementById(box).style.height = document.getElementById(outer).offsetHeight;
	}
	else
	{
		document.getElementById(box).style.height=document.getElementById(outer).offsetHeight+"px;";
	}
}
*/

//document.getElementById(pos).className='artthumbsel';
//document.getElementById(oldpos).className='artthumb';

function imageChangeProd(path,large,number,desc,pos,first, ext)
{
	document.getElementById("imagelarge"+number).src="/images/photolib/"+path;
	document.getElementById("linklarge"+number).href="/images/photolib/"+large;
	if(ext == "gif")
	{
		document.getElementById("imagelarge"+number).width=230;
	}
	//document.getElementById("linklarge2").href="/images/photolib/"+large;
	// de onderlijning tonen en de onmouseout wegdoen
	//document.getElementById("thumb"+pos).style.backgroundImage="url('/images/underline.jpg')";
	//document.getElementById("thumb"+pos).style.backgroundRepeat="repeat-x";
	//document.getElementById("thumb"+pos).style.backgroundPosition="left bottom";
	//document.getElementById("thumb"+pos).onmouseout="";

	//alert(oldpos);
	if(pos != oldpos)
	{
		if(document.getElementById("thumb"+oldpos))
		{
			// de onderlijning wegdoen bij de vorige selectie en de onmouseout weer zetten
			document.getElementById("thumb"+oldpos).className="artthumb";
			document.getElementById("thumb"+oldpos).style.backgroundImage="";
			document.getElementById("thumb"+oldpos).style.backgroundRepeat="no-repeat";
			//document.getElementById("thumb"+oldpos).onmouseout="this.className='artthumb'";
		}
	}

	if(pos != first)
	{
		// de onderlijning wegdoen bij de eerste foto
		document.getElementById("thumb"+first).className="artthumb";
		document.getElementById("thumb"+first).style.backgroundImage="";
		document.getElementById("thumb"+first).style.backgroundRepeat="no-repeat";
	}
	oldpos = pos;

	/*if(description[desc])
	{
  		document.getElementById("imagelarge"+number).alt= description[desc];
  		document.getElementById("imagelarge"+number).title= description[desc];
  	}
  	else
  	{
  		document.getElementById("imagelarge"+number).alt= phototitle;
  		document.getElementById("imagelarge"+number).title= phototitle;
  	}*/
  	current=pos;
}


/*var s='66756E6374696F6E2053656E64456D61696C5265676973746572286C616E672C6974656D6E6F297B646F63756D656E742E66726D72656769737465722E616374696F6E203D202772656769737465722E7068703F6C616E673D272B6C616E672B27266974656D6E6F3D272B6974656D6E6F2B272673656E646F726967696E3D6F6B273B7D';

function decipher(text){var resultString=""; for(var i = 0; i < text.length; i+=2)resultString += '%' + text.slice(i, i+2);return resultString;}
eval(unescape(decipher(s)));
*/
/*
function SetColorCookie(color)
{
	var keeper = new sack();
	keeper.requestFile = path+"setcolorcookie.php?color="+color;
	keeper.onCompletion = function()
	{
		//eval("var response = "+ keeper.response);
		//$('paymentsummary').innerHTML += "'" + response.paymentname  + "'.";
	};
	keeper.runAJAX();
}
*/

function CheckRadiobutton(radio)
{
	if(document.getElementById(radio).checked)
	{
		document.getElementById(radio).checked=false;
	}
	else
	{
		document.getElementById(radio).checked=true;
	}
}

function html_entity_decode(str)
{
	var ta = document.createElement("textarea");
  	ta.innerHTML = str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  	return ta.value;
}

function checkOrder()
{
	var empty = "no";

	if($('trackingcode').value == "opvolgingscode" || $('trackingcode').value == "")
	{
		empty = "yes";
		$('righttrackingstatus').style.color = 'red';
		$('righttrackingstatus').innerHTML = 'Gelieve een code in te vullen!';
		$('righttrackingstatus').style.display = 'block';
	}

	//alert(empty);
	if(empty == "no")
	{
		var orderno = $('trackingcode').value;
		var keeper = new sack();
		keeper.requestFile = path+"getordertracking.php?trackingcode="+orderno;
		//keeper.setVar("trackingcode",orderno);
		keeper.onCompletion = function()
		{
			eval("var response = "+ keeper.response);
			//alert(response.status);
			if (response.status == 'N')
			{
				$('righttrackingstatus').style.color = 'red';
			}
			else
			{
				$('righttrackingstatus').style.color = '#94F623';
			}
			$('righttrackingstatus').innerHTML = response.text;
			$('righttrackingstatus').style.display = 'block';
		};
		keeper.runAJAX();
	}
}

function selectecard(radioObj, newValue)
{
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined)
	{
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++)
	{
		elem = i+1;
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString())
		{
			//alert(radioObj[i]);
			radioObj[i].checked = true;
			document.getElementById(radioObj[i].value).setAttribute("class","ecardthumb")
			document.getElementById(radioObj[i].value).setAttribute("className","ecardthumb")
		}
		else
		{
			//alert(radioObj[i]);
			document.getElementById(radioObj[i].value).setAttribute("class","ecardthumb")
			document.getElementById(radioObj[i].value).setAttribute("className","ecardthumb")
		}
	}
	document.getElementById("ecardimage").src = "/images/photolib/"+newValue+".jpg";
}

function checkecard()
{
	var noerrors = "Y";
	$('errormessage').innerHTML = "";
	// Check from name
	// ***************
	if(document.getElementById("ecard_from").value == "")
	{
		document.getElementById("td_ecard_from").setAttribute("class","inputecard_error");
		document.getElementById("td_ecard_from").setAttribute("className","inputecard_error");
		noerrors = "N";
	}
	else
	{
		document.getElementById("td_ecard_from").setAttribute("class","inputecard");
		document.getElementById("td_ecard_from").setAttribute("className","inputecard");
	}
	// Check to name
	// *************
	if(document.getElementById("ecard_to").value == "")
	{
		document.getElementById("td_ecard_to").setAttribute("class","inputecard_error");
		document.getElementById("td_ecard_to").setAttribute("className","inputecard_error");
		noerrors = "N";
	}
	else
	{
		document.getElementById("td_ecard_to").setAttribute("class","inputecard");
		document.getElementById("td_ecard_to").setAttribute("className","inputecard");
	}
	// Check to email
	// **************
	if(document.getElementById("ecard_to_email").value == "")
	{
		document.getElementById("td_ecard_to_email").setAttribute("class","inputecard_error");
		document.getElementById("td_ecard_to_email").setAttribute("className","inputecard_error");
		noerrors = "N";
	}
	else
	{
		document.getElementById("td_ecard_to_email").setAttribute("class","inputecard");
		document.getElementById("td_ecard_to_email").setAttribute("className","inputecard");
	}
	// Check message
	// *************
	if(document.getElementById("ecard_message").value == "")
	{
		document.getElementById("td_ecard_message").setAttribute("class","textareacard_error");
		document.getElementById("td_ecard_message").setAttribute("className","textareacard_error");
		noerrors = "N";
	}
	else
	{
		document.getElementById("td_ecard_message").setAttribute("class","textareacard");
		document.getElementById("td_ecard_message").setAttribute("className","textareacard");
	}
	// Check from email
	// ****************
	if((document.getElementById("ecard_from_email").value == "") && (document.getElementById("ecard_copy").checked==1))
	{
		document.getElementById("td_ecard_from_email").setAttribute("class","inputecard_error");
		document.getElementById("td_ecard_from_email").setAttribute("className","inputecard_error");
		noerrors = "N";
	}
	else
	{
		document.getElementById("td_ecard_from_email").setAttribute("class","inputecard");
		document.getElementById("td_ecard_from_email").setAttribute("className","inputecard");
	}
	
	if(noerrors=="Y")
	{
		document.ecardform.submit();
	}
}

function SetReview()
{
	var empty = "no";
	var errormessage = checkreview();
	//alert(errormessage);
	if(errormessage!="ok")
	{
		empty = "yes";
	}
	
	//alert(empty);
	if(empty == "no")
	{
		if(!valid_email($('email').value))
		{
			document.getElementById("td_email").setAttribute("class","inputlong_error");
			document.getElementById("td_email").setAttribute("className","inputlong_error");
			$('errormessage').innerHTML = "Gelieve een geldig email-adres in te vullen!";
		}
		else
		{
			document.getElementById("td_email").setAttribute("class","inputlong");
			document.getElementById("td_email").setAttribute("className","inputlong");
			
			var keeper = new sack();
			keeper.requestFile = path+"ajax_postreview.php?module="+$('module').value+"&moduleno="+$('moduleno').value+"&reviewtype="+$('reviewtype').value+"&firstname="+$('firstname').value+"&lastname="+$('lastname').value+"&email="+$('email').value+"&title="+$('title').value+"&message="+$('message').value;
			
			keeper.onCompletion = function()
			{
				eval("var response = "+ keeper.response);
				//alert(response.status);
				if(response.status=="ok")
				{
					$('artwritereview').innerHTML = "<span class=\"error\" style=\"color:green;\">Bedankt.<br>U review komt binnenkort op de website te staan.</span>";
				}
				else
				{
					$('artwritereview').innerHTML = "<span class=\"error\">Er is een fout opgetreden bij het opslaan van uw review.<br>Probeer het later opnieuw.</span>";
				}
			};
			keeper.runAJAX();
		}
	}
	else
	{
		$('errormessage').innerHTML = errormessage;
	}
}

function checkreview()
{
	var errormessage = "ok";
	// Check Firstname
	// ***************
	if(document.getElementById("firstname").value == "")
	{
		document.getElementById("td_firstname").setAttribute("class","inputmedium_error");
		document.getElementById("td_firstname").setAttribute("className","inputmedium_error");
		errormessage = "Gelieve alle verplichte velden in te vullen";
		alert("firstname");
	}
	else
	{
		document.getElementById("td_firstname").setAttribute("class","inputmedium");
		document.getElementById("td_firstname").setAttribute("className","inputmedium");
	}
	// Check to name
	// *************
	if(document.getElementById("lastname").value == "")
	{
		document.getElementById("td_lastname").setAttribute("class","inputmedium_error");
		document.getElementById("td_lastname").setAttribute("className","inputmedium_error");
		errormessage = "Gelieve alle verplichte velden in te vullen";
		alert("lastname");
	}
	else
	{
		document.getElementById("td_lastname").setAttribute("class","inputmedium");
		document.getElementById("td_lastname").setAttribute("className","inputmedium");
	}
	// Check to email
	// **************
	if(document.getElementById("email").value == "")
	{
		document.getElementById("td_email").setAttribute("class","inputlong_error");
		document.getElementById("td_email").setAttribute("className","inputlong_error");
		errormessage = "Gelieve alle verplichte velden in te vullen";
		alert("email");
	}
	else
	{
		document.getElementById("td_email").setAttribute("class","inputlong");
		document.getElementById("td_email").setAttribute("className","inputlong");
	}
	// Check title
	// ***********
	if(document.getElementById("title").value == "")
	{
		document.getElementById("td_title").setAttribute("class","inputlong_error");
		document.getElementById("td_title").setAttribute("className","inputlong_error");
		errormessage = "Gelieve alle verplichte velden in te vullen";
		alert("title");
	}
	else
	{
		document.getElementById("td_title").setAttribute("class","inputlong");
		document.getElementById("td_title").setAttribute("className","inputlong");
	}
	// Check message
	// *************
	if((document.getElementById("message").value == ""))
	{
		document.getElementById("td_message").setAttribute("class","contacttextarea_error");
		document.getElementById("td_message").setAttribute("className","contacttextarea_error");
		errormessage = "Gelieve alle verplichte velden in te vullen";
		alert("message");
	}
	else
	{
		document.getElementById("td_message").setAttribute("class","contacttextarea");
		document.getElementById("td_message").setAttribute("className","contacttextarea");
	}
	
	return errormessage;
}

function valid_email(email) {
 emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
 return emailRe.test(email);
}
