/*-------------------------
Cibavision.com Global JS
-------------------------*/
var langCountryArr = new Array();
/* Generic Popup function */
	function openPopupCustom( url, windowname, height, width, scroll ) {
	  var popup = window.open( url , windowname, "toolbar=no,status=yes,scrollbars="+scroll+",menubar=no,locationbar=no,top=35,left=20,width="+width+",height="+height+",resizable=yes");
	  popup.focus();
	}
	
	/* Generic Popup function */
	function openPopupPrint( url, windowname ) {
	  var popup = window.open( url , windowname, "toolbar=no,status=yes,scrollbars=yes,menubar=yes,locationbar=no,top=35,left=20,width=640,height=400,resizable=yes");
	 
	  if (popup)
	  {		
		popup.focus();		
	  }
	  else
	  {		
		alert("We have detected a popup blocker.");		
	  }
	}
	
// Grabs a parameter from the URL.  Returns an empty
// string if parameter does not exist.
function getParameter(param) {
        var val = "";
        var qs = window.location.search;
        var start = qs.indexOf(param);

        if (start != -1) {
                start += param.length + 1;
                var end = qs.indexOf("&", start);
                if (end == -1) {
                        end = qs.length
                }
                val = qs.substring(start,end);
        }
        return val;
}
//function is used to create the object language country selected and actuals
function languageCountry(selected, actual) {
	var langCountrySelected;
	var langCountryActual;

	this.langCountrySelected = selected;
	this.langCountryActual = actual;
}

//This function is called on load of body and is used to initialize the default content for language / country
function initializeDefaultLangCountry(path) {
	var xmlDoc = DLXMLParser(path,"file");
	var rootElemt =xmlDoc.documentElement;
	//var langCountryMain = xmlDoc.getElementsByTagName("LANGCOUNTRY");
	//var langCountryObjs = langCountryMain[0].childNodes;
	
	var langCountryObjs = xmlDoc.getElementsByTagName("LANGCOUNTRYELEMENT");

	for(i = 0; i < langCountryObjs.length ; i++)
	{
		langCountry = new languageCountry(langCountryObjs[i].attributes[0].nodeValue+"/"+langCountryObjs[i].attributes[1].nodeValue, "/xml/"+langCountryObjs[i].attributes[0].nodeValue+"/"+langCountryObjs[i].attributes[2].nodeValue);
		langCountryArr[i] = langCountry;
	}
}

//This function is called on change of language drop down
function showLanguageSpecContent() {
	var country;
	var countryCode;
	var languageObj;
	var language;
	var langCountrySel;
	var langCountryAct;

	country=document.getElementById('countryCode');
	countryCode = country.options[country.selectedIndex].value;
	document.getElementById("countryHidden").value = countryCode;
	
	languageObj = document.getElementById("language");
	language = languageObj.options[languageObj.selectedIndex].value;
	document.getElementById("langHidden").value = language;
	
	var bcImage = document.getElementById('bcImg');
	var bcUrl = "/img/baseCurve_"+language+".gif";
	bcImage.src = bcUrl;
	
	var lpImage = document.getElementById('lpImg');
	var lpUrl = "/img/lensPower_"+language+".gif";
	lpImage.src = lpUrl;
	
	var tlImage = document.getElementById('tlImg');
	var tlUrl = "/img/toricLens_"+language+".gif";
	tlImage.src = tlUrl;
	
	var bmImage = document.getElementById('bmImg');
	var bmUrl = "/img/bestMatch_"+language+".gif";
	bmImage.src = bmUrl;
	
	langCountrySel = language + "/" + countryCode;
	langCountryAct = "";
	for(i = 0 ; i < langCountryArr.length ; i++)
	{
		langCountryObj = langCountryArr[i];
		var langCountry = langCountryObj.langCountrySelected;
		if(langCountrySel == langCountry)
		{
			langCountryAct = langCountryObj.langCountryActual;
			break;
		}
	}
	langCountryAct = langCountryAct + "/PageContentXML.xml";
	var xmlDoc = DLXMLParser(langCountryAct,"file");
	parseNDisplayContent(xmlDoc);

	//Display value in address text box
	//document.getElementById('addresssearchfield').value = document.getElementById('addrSearchTxtDiv').innerHTML;
}
/*
The function parseNDisplayContent gets the elements from xmlDoc and calls the function to write them in the document.
*/
function parseNDisplayContent(xmlDoc)
{
	var pageName;
	var searchObjectName;

	var rootElemt =xmlDoc.documentElement;
	//pageName = rootElemt.attributes[0].nodeValue;
	//alert(pageName);
	searchObjectName = new searchPageComponents();
	searchObjectName.contentElement = xmlDoc.getElementsByTagName("contentElement");
	for (i=0;i<searchObjectName.contentElement.length;i++)
	{
		fillDivElement(searchObjectName.contentElement[i].attributes[0].nodeValue, searchObjectName.contentElement[i].attributes[1].nodeValue);
	}
}

/*
The function fillDivElement writes the content in the div elements of the document
*/
function fillDivElement(id, value)
{
	element = document.getElementById(id);
	if(element != null)
	{
		element.innerHTML=value;
	}
}
// Call it like this: var contextstrform = getParameter("contextForm");

function printCheck(){
	var printTest = getParameter("print");
	
	if(printTest=='true'){
		document.write('<link href="/css/print.css" rel="stylesheet" type="text/css" media="all"/>')
	}	
}

function selectLangCountry(){
	var lang = document.getElementById("langHidden").value;
	var country = document.getElementById("countryHidden").value;
	if (lang == null)
	{
		lang = "en";
	}
	if(country == null){
		country="USA";
	}
	for (i=0; i < document.getElementById("language").length; i++)
	{
		if(document.getElementById("language").options[i].value == lang)
			break;
	}
	document.getElementById("language").options[i].selected=true;	
	for (i=0; i < document.getElementById("countryCode").length; i++)
	{
		if(document.getElementById("countryCode").options[i].value == country)
			break;
	}
	document.getElementById("countryCode").options[i].selected=true;
}

function populateProduct()
			{
	var country = document.getElementById('countryCode');
	var countryValue = country.options[country.selectedIndex].value;
	
	document.getElementById("countryHidden").value = countryValue;
	var lensType = "";
	if (document.forms[0].name == 'lenspower' || document.forms[0].name == 'basecurve')
	{
		for (var i=0; i < document.forms[0].prodType.length; i++)
		{
			if (document.forms[0].prodType[i].checked)
			{
				var lensType = document.forms[0].prodType[i].value;
			}
		}
	}
	
	if (document.forms[0].name == 'lenspower' || document.forms[0].name == 'basecurve' || document.forms[0].name == 'overrefraction' || document.forms[0].name == 'bestmatch')
	{
		url = "/FetchProductServlet?lensType="+lensType+"&countryCode="+countryValue+"&formName="+document.forms[0].name;
		 if (window.XMLHttpRequest){ // Non-IE browsers
                  req = new XMLHttpRequest()
                  //A call-back function is define so the browser knows which function to call after the server gives a reponse back
				 if (document.forms[0].name != 'bestmatch') 
					req.onreadystatechange = populateProductList
				else
					req.onreadystatechange = populateSalesRepDetails
                try {
                        req.open("GET", url, true) //was get
                  } 
                  catch (e) {
                  alert("Cannot connect to server")
                  }
                  req.send(null)
      } 
      else if (window.ActiveXObject) { // IE      
                  req = new ActiveXObject("Microsoft.XMLHTTP");
                  if (req) {
                  if (document.forms[0].name != 'bestmatch') 
					req.onreadystatechange = populateProductList
				else
					req.onreadystatechange = populateSalesRepDetails
                  req.open("GET", url, true);
                  req.send();
                  }
      }
	}
}

		function populateProductList()
		{
			document.getElementById('PRODUCT_ID').options.length = 0;
            if(req.readyState == 4 && req.status == 200)
  			{
            textToSplit = req.responseText
            //Split the document
            diffElements=textToSplit.split("|||")         
            returnElements = diffElements[0].split("||");
        	//Process each of the elements    
	       	 document.getElementById('PRODUCT_ID').options[0] = new Option('Choose the type of Lens','-1');
    	    for ( var i = 0,j=1; i < returnElements.length ; i++,j++)
    	    {
                  valueLabelPair = returnElements[i].split("|");
				  if (valueLabelPair[0] != "")
					document.getElementById('PRODUCT_ID').options[j] = new Option(valueLabelPair[1], valueLabelPair[0]);
	         }
	         var repDiv = document.getElementById("salesRepDetails");			 
	         var salesRepDetails = diffElements[1].split("|");	       
	         if (salesRepDetails[0] == 'Y')
	         {
	         	var str = "<table> <tr>	<td class='salesRep'><span id='salesName'>Contact Name :</span></td> <td class='salesRep'>";
	         	str = str + salesRepDetails[1] + "</td> </tr> <tr> <td class='salesRep'><span id='salesNumber'>Contact Number :</span></td> <td class='salesRep'>";
	         	str = str + salesRepDetails[2] + "</td> </tr> <tr> <td class='salesRep'><span id='salesEmail'>Email                :</span></td> <td class='salesRep'>";
	         	str = str + salesRepDetails[3] + "</td> </tr> </table>";				
	         	repDiv.innerHTML = str;
	         }
			 else
			 {
				repDiv.innerHTML = "";
			 }
	         }
		}
		function populateSalesRepDetails()
		{
			 if(req.readyState == 4 && req.status == 200)
  			{
				 textToSplit = req.responseText;				 
				  diffElements=textToSplit.split("|||")
				  var salesRepDetails = diffElements[1].split("|");	   
					var repDiv = document.getElementById("salesRepDetails");
				if (salesRepDetails[0] == 'Y')
				{	
					var str = "<table> <tr>	<td class='salesRep'><span id='salesName'>Contact Name :</span></td> <td class='salesRep'>";
					str = str + salesRepDetails[1] + "</td> </tr> <tr> <td class=salesRep><span id='salesNumber'>Contact Number             :</span></td> <td class=salesRep>";
					str = str + salesRepDetails[2] + "</td> </tr> <tr> <td class=salesRep><span id='salesEmail'>Email                :</span></td> <td class=salesRep>";
					str = str + salesRepDetails[3] + "</td> </tr> </table>";				
					repDiv.innerHTML = str;
				}
				else
				{
					repDiv.innerHTML = "";
				}
			}
		}