var formSearchWords = '';
var formPriceFrom = '';
var formPriceTo = '';
var limit = 11;
var formSortBy = 'articles';

function createHTTPHandler(){
    httphandler = false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
    try {
      httphandler = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
       httphandler = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
          httphandler = false;
      }
    }
    @end @*/
    if (!httphandler && typeof XMLHttpRequest!='undefined') {
        httphandler = new XMLHttpRequest();
    }
    return httphandler;
}

function setBeginVariables(searchWords, sortBy){
	formSearchWords = searchWords;
	formSortBy = sortBy;
}

function loadPictures(){
	form = 'formFilter';
		
	tmpCurrentPageNumber = document.getElementById('currentPageNumber').value;
				
	el = document.forms[form].elements['formColors'];
	formColors = el.options[el.selectedIndex].value;
	
	el = document.forms[form].elements['formCharity'];
	formCharity = el.options[el.selectedIndex].value;
	
	el = document.forms[form].elements['formThemes'];
	formThemes = el.options[el.selectedIndex].value;
	
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=getArticleList&currentPageNumber=' + tmpCurrentPageNumber+'&priceFrom=' + formPriceFrom+'&priceTo=' + formPriceTo+'&searchWord=' + formSearchWords+'&color=' + formColors+'&charity=' + formCharity+'&theme=' + formThemes+'&sortBy='+formSortBy, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {		
			response = XMLHTTPObject.responseText;				

			document.getElementById('results').innerHTML = response;
			
			//applySifr();
		}
	}
}

/* Get the page numbers  */
function loadPicturesAndPages(){
	form = 'formFilter';
	
	if(formSearchWords == 'Trefwoord of artikel'){
		formSearchWords = '';
	}
	
	tmpCurrentPageNumber = document.getElementById('currentPageNumber').value;
	if(parseInt(tmpCurrentPageNumber) < 0){
		tmpCurrentPageNumber = 0;
		 document.getElementById('currentPageNumber').value = 0;
	}
				
	el = document.forms[form].elements['formColors'];
	formColors = el.options[el.selectedIndex].value;
	
	el = document.forms[form].elements['formCharity'];
	formCharity = el.options[el.selectedIndex].value;
	
	el = document.forms[form].elements['formThemes'];
	formThemes = el.options[el.selectedIndex].value;
	
	totalPictures = 0;
	
	XMLHTTPObject = createHTTPHandler(); 
	//alert(websiteUrl+'catalog.ajax.php?action=totalPages&priceFrom=' + formPriceFrom+'&priceTo=' + formPriceTo+'&searchWord=' + formSearchWords+'&color=' + formColors+'&charity=' + formCharity+'&theme=' + formThemes+'&sortBy='+formSortBy);
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=totalPages&priceFrom=' + formPriceFrom+'&priceTo=' + formPriceTo+'&searchWord=' + formSearchWords+'&color=' + formColors+'&charity=' + formCharity+'&theme=' + formThemes+'&sortBy='+formSortBy, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			totalPictures = XMLHTTPObject.responseText;		
			
			createPageNumbers(totalPictures);
			
			if( totalPictures > 0){
				loadPictures();				
			}else{				
				document.getElementById('results').innerHTML = "<div id=\"pictureError\">Geen kerstpakketten gevonden met deze criteria</div>";
			}
			
			document.getElementById('resultsTotal').innerHTML = "Uw selectie: "+totalPictures+" Kerstpakketten";
			
			// paging
			newLimit = (parseInt(tmpCurrentPageNumber )+ 1) * limit;
			if(newLimit > totalPictures ){
				newLimit = totalPictures;
			}
			
			beginLimit = ((parseInt(tmpCurrentPageNumber) * limit) +1);
			if(newLimit == 0){
				beginLimit = 0;
			}
			
			document.getElementById('nav_text').innerHTML = "Kerstpakketten "+ beginLimit +"-"+newLimit+" van "+totalPictures;
		}
		
	}	
}

/* create paga numbers */
function createPageNumbers(totalPictures){
	totalPages = ( Math.ceil(totalPictures/limit) );

	tmpCurrentPageNumber = document.getElementById('currentPageNumber').value;

	// no left btn

	if(tmpCurrentPageNumber == 0){
		document.getElementById('btnPrev').style.display = 'none';
		document.getElementById('btnPrevDimmed').style.display = 'block';
	}else{
		document.getElementById('btnPrev').style.display = 'block';
		document.getElementById('btnPrevDimmed').style.display = 'none';
	}
	
	// no right btn
	if( (totalPages-1) == (tmpCurrentPageNumber) ||  totalPages == 0){
		document.getElementById('btnNext').style.display = 'none';
		document.getElementById('btnNextDimmed').style.display = 'block';
	}else{
		document.getElementById('btnNext').style.display = 'block';
		document.getElementById('btnNextDimmed').style.display = 'none';
	}
}


/* set page number */
function setPageNumber(pageNumber){
	document.getElementById('currentPageNumber').value = pageNumber;
	loadPicturesAndPages();
}

/* set current page + 1*/
function nextPage(){
	tmpCurrentPageNumber = parseInt(document.getElementById('currentPageNumber').value);
	document.getElementById('currentPageNumber').value = tmpCurrentPageNumber + 1;
	loadPicturesAndPages();
}

/* set current page - 1*/
function previousPage(){
	tmpCurrentPageNumber = parseInt(document.getElementById('currentPageNumber').value);
	document.getElementById('currentPageNumber').value = tmpCurrentPageNumber - 1;
	loadPicturesAndPages();
}

/* Apply filter */
function applyFilter(){
	document.getElementById('currentPageNumber').value = 0;
	loadPicturesAndPages();
}

/* set search words */
function setSearchWords(){
	document.getElementById('currentPageNumber').value = 0;

	formSearchWords = document.getElementById('formSearchWords').value;

	loadPicturesAndPages();
}

/* set search words */
function setPrice(priceFrom, priceTo){
	document.getElementById('currentPageNumber').value = 0;
	
	formPriceFrom = priceFrom;
	formPriceTo = priceTo;
	loadPicturesAndPages();
}

/* sort articles by type */
function sortBy(type){
	formSortBy = type;
	loadPicturesAndPages();
}

function showInCartFromPopUp(articleId){
	closeArticlePopUp();
 	showInCart(articleId);
}


/* show in cart */
function showInCart(articleId){
	// popup height
	y = document.body.scrollHeight;
	document.getElementById("popUpBg").style.height = (y+115) +'px';
	// popup width
	x = document.body.scrollWidth;
	document.getElementById("popUpBg").style.width = x+'px';
	// display popup
	document.getElementById('popUpBg').style.display = 'block';	
	// display popup small
	document.getElementById('popUpSmall').style.display = 'block';	
	// reset number of articles
	document.getElementById('addNumberOfArticles').value = '1';
	// set article id
	document.getElementById('articleId').value = articleId;
	
	if(currentPageId == 160){
		document.getElementById('divFilter').style.display = 'none';
	}
	
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=getArticle&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			// fill content
			document.getElementById('popUpSmallContent').innerHTML = newContent;
			//applySifrForArticle();
		}		
	}	
}

function addArticletoCart(){

	numberOfArticles = document.getElementById('addNumberOfArticles').value;
	articleId =document.getElementById('articleId').value;
	
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=getArticleDetails&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			returnValues = XMLHTTPObject.responseText.split("|");
			
			addToCart(articleId, returnValues[0],numberOfArticles,returnValues[1],returnValues[2]);
			popUpSmallClose();
		}		
	}	
}

/* close popup*/
function popUpSmallClose(){
	// display popup
	document.getElementById('popUpBg').style.display = 'none';	
	// display popup small
	document.getElementById('popUpSmall').style.display = 'none';
	
	if(currentPageId == 160){
		document.getElementById('divFilter').style.display = 'block';
	}
}

/* clean search input */
function cleanSearch(){
	if( document.getElementById('formSearchWords').value == 'Trefwoord of artikel'){
		document.getElementById('formSearchWords').value = '';
	}
}

function showArticlePopUp(articleId){
	
	// popup height
	y = document.body.scrollHeight;
	document.getElementById("popUpArticle").style.height = (y+115) +'px';
	// popup width
	x = document.body.scrollWidth;
	document.getElementById("popUpArticle").style.width = x+'px';
	// display popup
	document.getElementById('popUpArticle').style.display = 'block';
	
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=getArticlePopUp&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			// fill content
			document.getElementById('popUpArticleText').innerHTML = newContent;

			//applySifrForPopUpArticle();
		}		
	}	
}

/* close article popup */
function closeArticlePopUp(){
	// display popup
	document.getElementById('popUpArticle').style.display = 'none';
	document.getElementById('popUpArticleText').innerHTML = '';
}

/* change price with 2 decimals */
function changePrice( articlePrice){
	newPrice =  (document.getElementById('formArticleCount').value * articlePrice);
	
	 price = newPrice.toFixed(2);
	
	s = new String(price);
	tmp = s.replace(".",",");

	
	document.getElementById('subtotaal_veld').value = tmp;
}

/* check in key input is a number */
function numbersOnly(e) {
	var key;
	var keychar;
	
	if (window.event) {
	   key = window.event.keyCode;
	}
	else if (e) {
	   key = e.which;
	}
	else {
	   return true;
	}
	keychar = String.fromCharCode(key);
	
	if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
	   return true;
	}
	else if ((("0123456789").indexOf(keychar) > -1)) {
	   	return true;
	}
	else{
	   return false;
	}
}



/* show in cart */
function showCompare(articleId){
	// popup height
	y = document.body.scrollHeight;
	document.getElementById("popUpBg").style.height = (y+115) +'px';
	// popup width
	x = document.body.scrollWidth;
	document.getElementById("popUpBg").style.width = x+'px';
	// display popup
	document.getElementById('popUpBg').style.display = 'block';	
	// display popup small
	document.getElementById('popUpCompare').style.display = 'block';	
	// set article id
	document.getElementById('popUpCompareArticleId').value = articleId;
	//if home page
	if(currentPageId == 160){
		document.getElementById('divFilter').style.display = 'none';
	}
	
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=getCurrentCompareArticle&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			if(newContent == "max"){
				document.getElementById('popUpCompareContent').innerHTML = '<div style="padding:10px 0 0 5px;">Er kunnen maximaal 4 kerstpakketten vergeleken worden.<br> Kies voor <a href="'+compareUrl+'">vergelijken</a> of verwijder &eacute;&eacute;n of meerdere<br> Kerstpakketten.</div>';
				regenerateCompareList();

				document.getElementById('popUpCompareBtn').style.display="block";
				
			}else{			
				// fill content
				document.getElementById('popUpCompareContent').innerHTML = newContent;
				document.getElementById('popUpCompareArticleId').value = articleId;
				applySifrForArticle();
				
				regenerateCompareList();
				
				document.getElementById('popUpAddBtn').style.display="block";
			}
		}		
	}
}

/* close popup*/
function popUpCompareClose(){
	// display popup
	document.getElementById('popUpBg').style.display = 'none';	
	// display popup small
	document.getElementById('popUpCompare').style.display = 'none';
	// hide compare button
	document.getElementById('popUpCompareBtn').style.display = "none";
	// hide add button
	document.getElementById('popUpAddBtn').style.display = "none";
	// clear content
	document.getElementById('popUpCompareContent').innerHTML = '';
	
	if(currentPageId == 160){
		document.getElementById('divFilter').style.display = 'block';
	}
	
	//alert(document.getElementById('popUpCompareBtn').style.display);
	loadPicturesAndPages();
}

/* add to compare list */
function addToCompareList(){
	articleId = document.getElementById('popUpCompareArticleId').value;

	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=addToCompareList&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			// fill content
			document.getElementById('popUpCompareContentBottom').innerHTML = newContent;
			
			document.getElementById('popUpCompareContent').innerHTML = 'Kies voor <a href="'+compareUrl+'">vergelijken</a> of <a href="javascript:popUpCompareClose()">zoek verder</a> in ons aanbod.';
			
			document.getElementById('popUpAddBtn').style.display = "none";
			
			document.getElementById('popUpCompareBtn').style.display="block";
		}		
	}	
}

function regenerateCompareList(){
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=regenerateCompareList', true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			// fill content
			document.getElementById('popUpCompareContentBottom').innerHTML = newContent;
		}		
	}	
}

function deleteFromCompare(articleId){
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', websiteUrl+'catalog.ajax.php?action=deleteFromCompareList&articleId=' + articleId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {			
			newContent = XMLHTTPObject.responseText;		
			
			// fill content
			document.getElementById('popUpCompareContentBottom').innerHTML = newContent;
		}		
	}	
}