
var cntrycntnum = new Array();
var browsername;

var req = false;
var xmlfilepath = "/common/xml/data.xml";
var emailcgifile = "/cgi-bin/emergemail.cgi";
var printscsspath = "/common/css/esprint.css";
var copyrightcontent = "";
var numvalue;
var rgnval = "en";
var continents = new Array();
var errMsg1 = "Mail successfully sent";
var errMsg2 = "Error: Mail was not sent";
var errMsg3 = "Failed to get response : ";
var errMsg4 = "<b>No Matching Results</b><br><br>";
var errMsg5 = "<b>The contact number(s) you requested are:</b><br>";
var email_subject = "MasterCard Emergency Contacts";

function trim (str) {	
	return str.replace(/^\s+|\s+$/g,""); }

function cntryList()
{
	this.cntctnum = arguments[0];
	this.cntrynam = arguments[1];
	this.cntryabbr = arguments[2];
	this.cntrysrchkeys = arguments[3];
	this.cntrycont = arguments[4];
	this.showstatus = arguments[5];
}

function createAjaxObj()
{
	if (window.XMLHttpRequest)
	{
		browsername = 'ns';
		req = new XMLHttpRequest();
		if (req.overrideMimeType) {
			req.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) {	
		browsername = 'ie';		
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Cannot create XML object");
				return false;
			}
		}
	}
	else
	{
		alert("Cannot create XML object");
		return false;
	}
	return req;
}

function initProcess()
{
	req = createAjaxObj();
	if (req)
	{
		req.onreadystatechange = getContents;
		req.open('GET',xmlfilepath, true);
		req.send(null);
	}
}


function getContents() {
	if (req.readyState == 4) {
         if (req.status == 200) {
			var xml = req.responseXML;
			xmldata = xml.getElementsByTagName('root')[0];
			setCtrydetails(xmldata);
			loadCntryList();
		 }
	}
}

function findRegion(r)
{
	var retval;
	switch (r)
    {
		case "en": { retval = "en"; break }
		case "es": { retval = "es"; break }
		case "pt": { retval = "pt"; break }
		case "sl": { retval = "sl"; break }
		case "ru": { retval = "ru"; break }
		case "uk": { retval = "uk"; break }
		default: { retval = "en"; break }
	}
	return retval;

}
function setCtrydetails(xmlNode)
{
	var rgnval = location.pathname;
	cntryrgn = "cntrynam";
	continentval = "continent";
	if (rgnval != '')
	{
		var rgnarr = new Array();
		rgnarr = rgnval.split("/");
		var rgn = rgnarr[3];
		if (rgn != '')
		{
			rgnres = findRegion(rgn);
			cntryrgn = "cntrynam_" + rgnres;
			continentval = "continent_" + rgnres;
		}
	}
	for(var i=0;i<xmlNode.childNodes.length;i++){
		nname = xmlNode.childNodes[i].nodeName;
		if (nname == 'data')
		{
			numvalue = "";
			continent = "";
			abbreviation = "";
			searchkeys = "";
			cntrynam = "";
			dataNode = xmlNode.childNodes[i];
			if (xmlNode.childNodes[i].childNodes.length>0)
			{
				for (var j =0;j<dataNode.childNodes.length;j++)
				{
					fieldNode = xmlNode.childNodes[i].childNodes[j];
					switch (fieldNode.nodeName)
					{
						case 'number': { 
							numvalue = trim(fieldNode.firstChild.nodeValue);
							break }
						case continentval: { 
							continent = trim(fieldNode.firstChild.nodeValue);
								break }
						case 'abbreviation': { 
							abbreviation = trim(fieldNode.firstChild.nodeValue);
							break }
						case 'searchkeys': { 
							searchkeys = trim(fieldNode.firstChild.nodeValue);
							break }
						case cntryrgn: { 
							cntrynam = trim(fieldNode.firstChild.nodeValue);
							break }
					}
				}
				cntrycntnum[cntrycntnum.length++] = new cntryList(numvalue,cntrynam,abbreviation,searchkeys,continent,'0');
			}
		}
	}
}