var globalOrderBy = "";
var globalDetailsOrderBy ="";
function getXmlHttp(){
    var xmlhttp=false;
    try {
            xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); //Try the first kind of active x object…
    } catch (e) {
            try {
                    xmlhttp = new
                    ActiveXObject('Microsoft.XMLHTTP'); //Try the second kind of active x object
        } catch (E) {
            xmlhttp = false;
                    }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
            xmlhttp = new XMLHttpRequest(); //If we were able to get a working active x object, start an XMLHttpRequest
    }  
    return  xmlhttp;
}
function getContent(file,layerId){
  document.getElementById(layerId).innerHTML="Searching database. Please wait...";
  xmlhttp=getXmlHttp();
  var returnElements =""; 
  xmlhttp.open('GET', file, true); //Open the file through GET, and add the page we want to retrieve as a GET variable ** 
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4) { //Check if it is ready to recieve data
       if (xmlhttp.status == 200) { // OK response   
           var content = xmlhttp.responseText; //The content data which has been retrieved ***
           if( content ){ //Make sure there is something in the content variable
                  document.getElementById(layerId).innerHTML = content;
         }
        } else {  
       alert("Bad response by the server");
	   document.getElementById(layerId).innerHTML="";
      }  
    }
    } 
    xmlhttp.send(null) //destroy XMLHttpRequest
    return;
}
function getSelectContent(file,layerId){
  xmlhttp=getXmlHttp();
  var returnElements =""; 
  xmlhttp.open('GET', file, true); //Open the file through GET, and add the page we want to retrieve as a GET variable ** 
  //document.getElementById("categoryList").innerHTML=file;  
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4) { //Check if it is ready to recieve data
       if (xmlhttp.status == 200) { // OK response  
           var content = xmlhttp.responseText; //The content data which has been retrieved ***
           if( content ){ //Make sure there is something in the content variable
                  returnElements=content.split("||");
                   //Process each of the elements     
                   for ( var i=0; i<returnElements.length; i++ ){    
                     valueLabelPair = returnElements[i].split("|");
                     if(valueLabelPair[1]!=undefined) document.getElementById(layerId).options[i] = new Option(valueLabelPair[0], valueLabelPair[1]);
                   }
         }
        } else {  
       alert("Bad response by the server");
      }  
    }
    } 
    xmlhttp.send(null) //destroy XMLHttpRequest
    return;
}

function relateDependandLookups(lookup){
    //lookup.name=field name
    var url = "coin_catalog/lookup.php";
    var select1 = 'country';
    var select2 = 'denom';
    var select3 = 'ruler';
    var select4 = 'period';  
    var table = 'cointype';
    var lookupUrlQuery1 = '&where=' +select1 +'=\''+ document.getElementById(select1).value + '\'';
    var lookupUrlQuery2  = lookupUrlQuery1 +  ' and ' + select2 +' =\''+ document.getElementById(select2).value + '\''; 
    var lookupUrlQuery3  = lookupUrlQuery2 +  ' and ' + select3 +'=\''+ document.getElementById(select3).value + '\'';    
	if (lookup.name==select1) {
		document.getElementById(select2).options.length = 0;  
        document.getElementById(select3).options.length = 0; 
        document.getElementById(select4).options.length = 0;      
        getSelectContent(url + '?field=' + select2 + '&table=' +  table +  lookupUrlQuery1+ '&orderby=DenomOrder',select2); 
    }
    else if (lookup.name==select2) {
		document.getElementById(select3).options.length = 0; 
        document.getElementById(select4).options.length = 0;  
        getSelectContent(url + '?field=' + select3 + '&table=' +  table +  lookupUrlQuery2+ '&orderby=OrderBy',select3);
    }
    else if (lookup.name==select3) {
		document.getElementById(select4).options.length = 0; 
        getSelectContent(url + '?field=' + select4 + '&table=' +  table +  lookupUrlQuery3+ '&orderby=OrderBy',select4);
    }
} 

function getCategoryList(orderBy){
    var url = "coin_catalog/select_main.php"; 
    var select1 = 'country';
    var selectElem1= document.getElementById(select1);   
    var select2 = 'denom';
    var selectElem2= document.getElementById(select2);  
    var select3 = 'ruler';
    var selectElem3= document.getElementById(select3);  
    var select4 = 'period';  
    var selectElem4= document.getElementById(select4);  
    var table = "cointype";  
	if (orderBy=='') {
		orderBy = "DenomOrder,Orderby"; 
		globalOrderBy = "";
	}
	if (globalOrderBy==orderBy&&orderBy!="") orderBy=orderBy + " desc";
	globalOrderBy = orderBy;
    if(selectElem1.value.replace(" ","")=="") {   //validation
         document.getElementById("categoryList").innerHTML = "Please select country of the coin";
         return;
    }
    var lookupUrlWhere =  "&where=" +select1 +"='"+ document.getElementById(select1).value + "'";    
    if(selectElem2.value.replace(" ","")!="") lookupUrlWhere=lookupUrlWhere+" and " +select2 +"='"+ selectElem2.value + "'";    
    if(selectElem3.value.replace(" ","")!="") lookupUrlWhere=lookupUrlWhere+" and " +select3 +"='"+ selectElem3.value + "'";
    if(selectElem4.value.replace(" ","")!="") lookupUrlWhere=lookupUrlWhere+" and " +select4 +"='"+ selectElem4.value + "'";    url=url + "?field=*&table=" + table + lookupUrlWhere + '&orderby='+orderBy;
	//alert(url);
    getContent(url,"categoryList");
}   
function getDetails(layerId,typeId,orderBy,sorting){ 
	//alert(layerId);
    if (!sorting&&document.getElementById(layerId).innerHTML.replace(" ","")!=""&&layerId!=""){
        document.getElementById(layerId).innerHTML="";  //minimize
    }
    else  { 
		if (orderBy=='') {
			orderBy = "Year"; 
			globalDetailsOrderBy = "";
		}
		if (globalDetailsOrderBy==orderBy&&orderBy!="") orderBy=orderBy + " desc";
		globalDetailsOrderBy = orderBy;
		getContent('coin_catalog/get_details.php?field=*&table=coinvariety&where=TypeId=' + typeId +'&orderby='+orderBy,layerId);
	}
}    
function getValues(layerId,coinId){ 

	if (document.getElementById(layerId).innerHTML.replace(" ","").replace("<div></div>","")!=""&&layerId!=""){
        document.getElementById(layerId).innerHTML="";  //minimize
    }
	else  getContent('coin_catalog/get_values.php?field=*&table=value&where=CoinId=' + coinId,layerId);

}    
function imageSwap(img,image1,image2){
	var currentImage = img.src.substring(img.src.lastIndexOf('/') + 1, img.src.length );
	if (currentImage==image1) img.src="_images/common/" + image2;
	else img.src="_images/common/" + image1;
}