var xmlDoc;
var appSource="";
function AJAX_load(path)      
{       
	try        
	{ // MSIE                
	var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");        
	}       
	catch(e)       
	{               
		try               
		{ // Firefox, Opera, etc.                        
		var xmlDoc=document.implementation.createDocument("","",null);               
		}               
		catch(e)              
		{                      
		alert(e.message)             
		}        
	}       
	try       
	{                
		xmlDoc.async = false; // halt code execution until xmlDoc is loaded                
		xmlDoc.load( path );    // load file        
	}
	catch(e)        
	{ // unable to load                
		try               
		{   // for Safari                        
			xmlDoc = new XMLHttpRequest();                        
			xmlDoc.open("GET", path, false);                       
			xmlDoc.send();                       
			xmlDoc=xmlDoc.responseXML;                                       
		}                
		catch(e)                
		{                        
			alert(e.message)                       
			return; // return with nothing                
		}        
	}        
return xmlDoc;
}

xmlDoc = AJAX_load("xml/branch_data.xml");

var x = xmlDoc.getElementsByTagName("BRANCH");

//READ AND RETURN REFERER URL 
function urlRef()
{
var str = "";

if(document && document.referrer)
	{ str = document.referrer; }
	
if(str != "")
	{
		var len = str.length;
		var col = str.indexOf(':', 0);
		col = col + 3;
		var slash = str.indexOf('/', col);
		appSource = str.substring(col, slash);
	}
else 
	{ appSource = document.domain; }

return appSource;
}
//READ QUERY STRING applicationSource AND RETURN VALUE
function getApplicationSource()
{
var searchString = document.location.search;
var Source = "";
searchString = searchString.substring(1);
var Pairs = searchString.split("&");
for (i = 0; i < Pairs.length; i++) 
	{
		var Pair = Pairs[i].split("=");
		var name = Pair[0];
		var value = Pair[1];
		if (name == "applicationSource") 
		{ Source = value;}
	}
return Source;
}

function unique(arrayName)
{
	var newArray=new Array();
	label:for(var i=0; i<arrayName.length;i++ )
	{  
		for(var j=0; j<newArray.length;j++ )
		{
			if(newArray[j]==arrayName[i]) 
				continue label;
		}
		newArray[newArray.length] = arrayName[i];
	}
	return newArray.sort();
  }

// LOAD STATE SELECT BOX
function loadStates()
{
	appSource = getApplicationSource();
	if(appSource == "")
	{ appSource = urlRef(); }
	try
	{
		var ary = new Array();
		for(var i=0; i<x.length; i++)
		{
			var stt = x[i].getElementsByTagName("STATE")[0].childNodes[0].nodeValue;
			ary[i] = stt;
		}
	}
	catch(e)
	{ document.getElementById("loadData").innerHTML = "Branch locator data could not be loaded. Please refresh the page." }
	ary = unique(ary);
	for(var i=0; i<ary.length; i++)
	{
		opt = document.createElement("option");
		opt.value = ary[i];
		txtNode = document.createTextNode(ary[i]);
		opt.appendChild(txtNode);
		document.getElementById("selectSate").appendChild(opt);
	}
}
// LOAD CITY SELECT BOX FOR SELECTED STATE
function loadCity(state)
{
	var ctyArray = new Array();
	var stIndex = document.getElementById(state).options.selectedIndex;
	var stValue = document.getElementById(state).options[stIndex].value;
	document.getElementById("selectCity").innerHTML = " ";
	opt = document.createElement("option");
	opt.value = "Select";
	txtNode = document.createTextNode("Select");
	opt.appendChild(txtNode);
	document.getElementById("selectCity").appendChild(opt);
	for(var i=0; i<x.length; i++)
	{
		var stt = x[i].getElementsByTagName("STATE")[0].childNodes[0].nodeValue;
		if (stt == stValue)
		{
			var cty = x[i].getElementsByTagName("CITY")[0].childNodes[0].nodeValue;
			ctyArray[i] = cty;
		}
	}
	ctyArray = unique(ctyArray);
	for(var i=0; i<ctyArray.length-1; i++)
	{
		opt = document.createElement("option");
		opt.value = ctyArray[i];
		txtNode = document.createTextNode(ctyArray[i]);
		opt.appendChild(txtNode);
		document.getElementById("selectCity").appendChild(opt);
	}
}
//DISPLAY BRANCHES OF SELECTED CITY
function display(cityId)
{
	var ctIndex = document.getElementById(cityId).options.selectedIndex;
	var ctValue = document.getElementById(cityId).options[ctIndex].value;
	var data, divId, frmName, nme, ads, cty, stt, zip, phn, bVar, sVar = " ";
	var stIndex = document.getElementById("selectSate").options.selectedIndex;
	var stValue = document.getElementById("selectSate").options[stIndex].value;
	document.getElementById("loadData").innerHTML = " ";
	for(var i=0; i<x.length; i++)
	{
		cty = x[i].getElementsByTagName("CITY")[0].childNodes[0].nodeValue;
		stt = x[i].getElementsByTagName("STATE")[0].childNodes[0].nodeValue;
		if (cty == ctValue && stt == stValue)
		{
			nme = x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue;
			try
			{ ads = x[i].getElementsByTagName("ADDRESS")[0].childNodes[0].nodeValue; }
			catch(e)
			{ ads = " ";}
			cty = x[i].getElementsByTagName("CITY")[0].childNodes[0].nodeValue;
			stt = x[i].getElementsByTagName("STATE")[0].childNodes[0].nodeValue;
			phn = x[i].getElementsByTagName("PHONE")[0].childNodes[0].nodeValue;
			//EXCEPTION HANDLER FOR ZIP
			try 
			{ zip = x[i].getElementsByTagName("ZIP")[0].childNodes[0].nodeValue; } 
			catch(e)
			{ zip = " "; }
			bVar = x[i].getElementsByTagName("BRANCHVAR")[0].childNodes[0].nodeValue;
			sVar = x[i].getElementsByTagName("STATEVAR")[0].childNodes[0].nodeValue;
			//FORMAT DATA
			data = "<strong>"+ nme + "</strong><br>"+ ads + "<br>" + cty +"&sbquo;&nbsp;"+ stt +"&nbsp;"+ zip + "<br>Tel: " + phn + "<br><img src='../../img/clear.gif' height='10' width='10' border='0'>";
			divId = "div" + i;
			//GENERATE DIV CONTAINER
			dv = document.createElement("div");
			dv.setAttribute("id", divId);
			dv.setAttribute("className", "branchDiv");
			document.getElementById("loadData").appendChild(dv);
			document.getElementById(divId).innerHTML = data;
			//GENERATE FORM
			frmName = "form" + i;
			frm = document.createElement("form");
			frm.setAttribute("name", frmName);
			frm.setAttribute("id", frmName);
			document.getElementById(divId).appendChild(frm);
			//GENERATE HIDDEN VARIABLE CITY
			hdb = document.createElement("Input");
			hdb.setAttribute("type", "hidden");
			hdb.value = bVar;
			document.getElementById(frmName).appendChild(hdb);
			//GENERATE HIDDEN VARIABLE STATE
			hds = document.createElement("Input");
			hds.setAttribute("type", "hidden");
			hds.value = sVar;
			document.getElementById(frmName).appendChild(hds);
			//GENERATE APPLY BUTTON
			var btn = "btn"+i; 
			bt = document.createElement("input");
			bt.setAttribute("type", "button");
			bt.setAttribute("value", "Apply");
			bt.setAttribute("id", btn);
			document.getElementById(frmName).appendChild(bt);
			document.getElementById(btn).onclick = function() //DEFINE CLICK EVENT FOR APPLY BUTTON
			{ 
				var formURL = "RFE_EEOE.html?applicationSource="+appSource+"&MSNR_Branch_State__c="+this.form.childNodes[1].value+"&MSNR_Branch_Location__c="+this.form.childNodes[0].value;
				document.location = formURL;
			}
		}
	}
}