var bustcachevar = 0;
var loadedobjects = "";
var rootdomain = "http://"+window.location.hostname;
var bustcacheparameter = "";

var $ = function(div_id)
{
	return document.getElementById(div_id);
}

function createRequestObject() 
{
	var request;
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		var ie_versions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
		for(var i=0; i <ie_versions.length; i++)
		{
			try
			{
				request = new ActiveXObject(ie_versions[i]);
			}
			catch (error) {}
		}
	}
	return request;
}

function ajaxload( link, containerid )
{
	$(containerid).innerHTML = '<div style="text-align: center;"><img src="images/ajax-loader.gif" alt="Laden.." /><br />Bezig met laden...</div>';
	var page_request = createRequestObject();

	page_request.onreadystatechange = function()
	{
		loadpage(page_request, containerid);
	}

	if (bustcachevar)
		bustcacheparameter=(link.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();

	page_request.open('GET', link+bustcacheparameter, true);
	page_request.send('');
}

function loadpage(page_request, containerid)
{
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
		$(containerid).innerHTML = page_request.responseText;
}

function loadNewest(collection)
{
	ajaxload('newest_products.php?collection='+collection, 'product_listing');
}

function loadListing(session_page)
{
	var collection = $('collection').value ? $('collection').value : 0;
	var boy_girl = $('boy_girl').value ? $('boy_girl').value : 0;
	var season = $('season').value ? $('season').value : 0;
	var size = returnCheckURL('size[]');
	var manufacturer = returnCheckURL('manufacturer[]');
	var type = returnCheckURL('products_type[]');
	
	ajaxload('search_listing.php?collection='+collection+'&boy_girl='+boy_girl+'&season='+season+size+manufacturer+type+'&page='+session_page, 'product_listing');
}

function loadOptions(get_variabels, get_url, session_page)
{
	if(get_variabels == 2)
	{
		/*var strQueryString="";
		var hasQueryString = document.URL.indexOf('?');
		if (hasQueryString != -1)
		{
		    strQueryString = document.URL.substring(hasQueryString+1, document.URL.length);
		}*/
		//var Variables = strQueryString.split("/*/");
		ajaxload('search_options.php?'+get_url, 'search_options');
		//ajaxload('search_listing.php?'+get_url, 'product_listing');
		window.setTimeout("loadListing('"+session_page+"');", 1000);
	}
	else if(get_variabels == 1)
	{
		ajaxload('search_options.php?'+get_url, 'search_options');
	}
	else
	{
		var collection = $('collection').value ? $('collection').value : 0;
		var boy_girl = $('boy_girl').value ? $('boy_girl').value : 0;
		var season = $('season').value ? $('season').value : 0;
		var size = returnCheckURL('size[]');
		var manufacturer = returnCheckURL('manufacturer[]');
		var type = returnCheckURL('products_type[]');

		//alert('search_options.php?collection='+collection+'&boy_girl='+boy_girl+'&season='+season+'&group='+group+'&manu='+manu+'&type='+type);

		ajaxload('search_options.php?collection='+collection+'&boy_girl='+boy_girl+'&season='+season+size+manufacturer+type, 'search_options');
		ajaxload('search_listing.php?collection='+collection+'&boy_girl='+boy_girl+'&season='+season+size+manufacturer+type+'&page='+session_page, 'product_listing');
	}
}

function utf8_encode ( string ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
 
    string = (string+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");
 
    var utftext = "";
    var start, end;
    var stringl = 0;
 
    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;
 
        if (c1 < 128) {
            end++;
        } else if((c1 > 127) && (c1 < 2048)) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc != null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }
 
    if (end > start) {
        utftext += string.substring(start, string.length);
    }
 
    return utftext;
}
function base64_encode( data ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // +   improved by: Thunder.m
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)        
    // -    depends on: utf8_encode
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
 
    // mozilla has this native
    // - but breaks in 2.0.0.12!
    //if (typeof window['atob'] == 'function') {
    //    return atob(data);
    //}
        
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, enc="", tmp_arr = [];
    data = utf8_encode(data);
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
 
        bits = o1<<16 | o2<<8 | o3;
 
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;
 
        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }
 
    return enc;
}

function returnCheckURL(name)
{
	var checkboxes = document.getElementsByName(name);
	var url = '';
	for(var i = 0; i <checkboxes.length; i++)
	{
		if(checkboxes[i].checked)
		{
			url += '&'+name+'='+checkboxes[i].value;
		}
	}
	return url;
}

function returnWholeUrl()
{
	var collection = $('collection').value ? $('collection').value : 0;
	var boy_girl = $('boy_girl').value ? $('boy_girl').value : 0;
	var season = $('season').value ? $('season').value : 0;
	var size = returnCheckURL('size[]');
	var manufacturer = returnCheckURL('manufacturer[]');
	var type = returnCheckURL('products_type[]');

	return '?collection='+collection+'&boy_girl='+boy_girl+'&season='+season+size+manufacturer+type;
}