var DATE_FORMAT_TYPE=1
var GENAPPLICATION='Validation';
var LOC='/'+GENAPPLICATION+'/controller/controlservlet.aspx?key=';
var EXT='';
var TOLL_FREE_NO='0014300';//Local ocse office number

var TXTARR = new Array;
var URLARR = new Array;

var GLOBALURL='';
var Moz='';
var IE='';


TXTARR[0] = 'JOBTYPE';									
URLARR[0]='JobType';

var xmldocMessage='';

var xmlDoc='';

var MOZ2 = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined'); 
var IE2 = (typeof window.ActiveXObject != 'undefined'); 

if(IE2)
{
    xmldocMessage = GetXMLDataFile('includes/error.xml',null,false)
}

if(MOZ2)
{
    xmlDoc = document.implementation.createDocument("","",null);
    xmlDoc.load('includes/error.xml');
}

function GetXMLDataFile(strFetchURL,strXML,bAsync)
{
	try
	{
		GLOBALURL=strFetchURL
		if(strXML) strXML=removeQuot(strXML);
		var oXMLHTTP=GetXmlHttpObject();
		if(bAsync)
			oXMLHTTP.open("GET", strFetchURL,true);
		else
			oXMLHTTP.open("GET", strFetchURL,false);
		oXMLHTTP.send(strXML);
		
	    Moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined'); 
 		IE = (typeof window.ActiveXObject != 'undefined'); 
		
		if (Moz) 
		{ 
			var oXMLresult= document.implementation.createDocument("", "", null) 
   			 //oXMLresult.onload = readXML; 
			 oXMLresult.load(oXMLHTTP.responseText);
 		} else if (IE) 
		{ 
			 var oXMLresult=new ActiveXObject("Microsoft.XMLDOM");
			 oXMLresult.async=false;
  			// while(xmlDoc.readyState != 4) {}; 
			oXMLresult.loadXML(oXMLHTTP.responseText);
 		} 
		//alert(oXMLresult);
		//alert(oXMLresult.documentElement.selectSingleNode("/ERRORCHECK/ERROR[@CODE = '" + sERRORCODE + "']" ));
		return oXMLresult;
	}catch(e){alert(e.message);}
	
}

function SetStatusDirect(StatusText)
{
	var str="";
	str="<table class='clsErrorDiv' width=100%><tr><td width=1%><img src='images/icon_error.gif' alt=''></td><td><font color=red><b>"+StatusText+"</b></font></td></tr></table>";
	get('divError').innerHTML=str;
	return false;

}	

function SetStatus(StatusText, Type, INFO)
{ 

	if(get('divError'))
	{
		if(StatusText!='' && INFO!=true && StatusText.toString().toUpperCase()!='DONE' && StatusText!=fnGetErrMessage('I0014'))
			get('divError').innerHTML="<table class='clsErrorDiv' width=100%><tr><td width=1%><img src='images/icon_error.gif' alt=''></td><td><font color=red><b>"+StatusText+"</b></font></td></tr></table>";
		else if(INFO==true && StatusText==fnGetErrMessage('I0014'))
		{
			//get('divError').innerHTML="<table class='clsMsgDiv' width=100%><tr><td width=1%>&nbsp;</td><td><font color=green><b>"+StatusText+"</b></font></td></tr></table>";
			get('divError').innerHTML='';
			if(get('divPlzWait'))
			{
				alert(get('divPlzWait'));
				if(!bResizePlzWaitX)
				{
					if(window.document.body.clientWidth>1000){bResizePlzWaitX=250;bResizePlzWaitY=430;}
					else {bResizePlzWaitX=200;bResizePlzWaitY=300;}
				}
				get('divPlzWait').style.display='block';
				get('divPlzWait').style.top=bResizePlzWaitX+window.document.body.scrollTop;
				get('divPlzWait').style.left=bResizePlzWaitY;
			}
		}
		else
		{
			get('divError').innerHTML='';
			if(get('divPlzWait'))
				get('divPlzWait').style.display='none';
		}
	}
	window.status=StatusText;
	try{
		if( window.top.frames.item("Status") )
		{
			if (Type)
			{
				if(parseInt(Type)==0)
					window.top.frames.item("Status").pStatusTxt.style.color="red";
				else
					window.top.frames.item("Status").pStatusTxt.style.color="blue";
			}
			window.top.frames.item("Status").pStatusTxt.innerHTML=StatusText;
		}
	}catch(error){}
}


function get(oElem)
{
	return document.getElementById(oElem);
}

function fnGetErrMessage(sERRORCODE)
{
	//alert(sERRORCODE);
	var sMsg='';
	try
	{
		if (IE2)
		{
			var elementPath="/ERRORCHECK/ERROR[@CODE = '" + sERRORCODE + "']";
		
			 //alert(elementPath);
			
			var  xmlnodeMessage=xmldocMessage.documentElement.selectSingleNode("/ERRORCHECK/ERROR[@CODE = '" + sERRORCODE + "']" );
			if (xmlnodeMessage) sMsg=xmlnodeMessage.text;
			else sMsg=sERRORCODE;
			
		}else if (MOZ2)
		{
			for(var i=0;i<xmlDoc.getElementsByTagName('ERROR').length;i++)
			{
				if(xmlDoc.getElementsByTagName('ERROR')[i].attributes.getNamedItem('CODE').nodeValue==sERRORCODE)
				 {			
					 sMsg = xmlDoc.getElementsByTagName('ERROR')[i].childNodes[0].textContent;
				 }
			}
			if(sMsg==null) sMsg=sERRORCODE;
		}

	return sMsg;
	
	}catch(e){
		alert(e.message);
	}
	
	
}
function fnSetError(Obj,sMsg)
{
	try{
	var INFO=false;
	if(Obj!=null && Obj!='' && !Obj.readOnly && !Obj.disabled){
		Obj.className="ERROR"; Obj.focus();
		Obj.ERRCODE=sMsg;
	}
	if(sMsg.length==5){
		if(sMsg.substring(0,1)=='I')INFO=true;
		sMsg=fnGetErrMessage(sMsg);
	}
	if(sMsg!=null) SetStatus(sMsg,null,INFO);
	}catch(e){}
}

function fnResetError(Obj)
{
	try{
	
	Obj.className="txtbox2";
	Obj.ERRCODE='';
	}catch(e){}
}

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
	objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
	objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
} 	


function trimString(sStr)
{
   var s;
   sStr = sStr.toString();
   s = sStr.replace(/(^\s*)|(\s*$)/g,"");
   return(s);
}


function fnSetError(Obj,sMsg)
{
	try{
	var INFO=false;
	if(Obj!=null && Obj!='' && !Obj.readOnly && !Obj.disabled){
		Obj.className="ERROR"; Obj.focus();
		Obj.ERRCODE=sMsg;
		
	}
	if(sMsg.length==5){
		if(sMsg.substring(0,1)=='I')INFO=true;
		sMsg=fnGetErrMessage(sMsg);
	}
	if(sMsg!=null) SetStatus(sMsg,null,INFO);
	}catch(e){}
}

function fnResetError(Obj)
{
	try{
		
	Obj.className="txtbox";
	Obj.ERRCODE='';
	}catch(e){}
}

function fnClearError(strid,bForce)
{

	var obj=get(strid).className;
	if (obj=="ERROR"){ SetStatus('');fnResetError(get(strid))}
		
}


function fnSetError2(Obj,sMsg)
{
	try{
	var INFO=false;
	if(Obj!=null && Obj!='' && !Obj.readOnly && !Obj.disabled){
		Obj.className="ERROR2"; Obj.focus();
		Obj.ERRCODE=sMsg;
	}
	if(sMsg.length==5){
		if(sMsg.substring(0,1)=='I')INFO=true;
		sMsg=fnGetErrMessage(sMsg);
	}
	if(sMsg!=null) SetStatus(sMsg,null,INFO);
	}catch(e){}
}

function fnResetError2(Obj)
{
	try{
	Obj.className="txtarea";
	Obj.ERRCODE='';
	}catch(e){}
}

function fnClearError2(strid,bForce)
{
	var obj=get(strid).className;
	if (obj=="ERROR2"){ SetStatus('');fnResetError2(get(strid))}
		
}

function fnSetError4(Obj,sMsg)
{
	try{
	var INFO=false;
	if(Obj!=null && Obj!='' && !Obj.readOnly && !Obj.disabled){
		Obj.className="ERROR4"; Obj.focus();
		Obj.ERRCODE=sMsg;
	}
	if(sMsg.length==5){
		if(sMsg.substring(0,1)=='I')INFO=true;
		sMsg=fnGetErrMessage(sMsg);
	}
	if(sMsg!=null) SetStatus(sMsg,null,INFO);
	}catch(e){}
}

function fnResetError4(Obj)
{
	try{
	Obj.className="txtbox4";
	Obj.ERRCODE='';
	}catch(e){}
}

function fnClearError4(strid,bForce)
{
	var obj=get(strid).className;
	if (obj=="ERROR4"){ SetStatus('');fnResetError4(get(strid))}
		
}


SetStatus('');

function CompareDate(sSrc,sDes) //Check the First date is Greater then the Second
{
   var oSrcDt,oDesDt;
   var aStrTok;
   var iDt1,iDt2;
   aStrTok=sSrc.split("/");

   if(aStrTok.length !=3 ) return false;

   if(DATE_FORMAT_TYPE==2) 
   	oSrcDt=new Date(aStrTok[2],aStrTok[0]-1,aStrTok[1]);
   else
   	oSrcDt=new Date(aStrTok[2],aStrTok[1]-1,aStrTok[0]);

   iDt1 = Date.parse(oSrcDt);
   
   if ( isNaN(iDt1)) iDt1=0;

   aStrTok=sDes.split("/");
   
   if(aStrTok.length !=3 ) return false;

   if(DATE_FORMAT_TYPE==2)
   	oDesDt=new Date(aStrTok[2],aStrTok[0]-1,aStrTok[1]);
   else
   	oDesDt=new Date(aStrTok[2],aStrTok[1]-1,aStrTok[0]);

   iDt2 = Date.parse(oDesDt);
   
   if (isNaN(iDt2)) iDt2=0;

	if(iDt1<=iDt2)
	{
		return false;
	}
	else
	{
		return true;
	}
 }
 
 
 function GetCountry(defaultValue,isNotWithSelect)
{
	var sCountry="Afghanistan,Albania,Algeria,American Samoa,Andorra,Angola,Anguilla,Antarctica,Antigua and Barbuda,Argentina,Armenia,Aruba,Australia,Austria,Azerbaidjan,Bahamas,Bahrain,Bangladesh,Barbados,Belarus,Belgium,Belize,Benin,Bermuda,Bolivia,Bosnia-Herzegovina,Botswana,Bouvet Island,Brazil,British Indian O. Terr.,Brunei Darussalam,Bulgaria,Burkina Faso,Burundi,Buthan,Cambodia,Cameroon,Canada,Cape Verde,Cayman Islands,Central African Rep.,Chad,Chile,China,Christmas Island,Cocos (Keeling) Isl.,Colombia,Comoros,Congo,Cook Islands,Costa Rica,Croatia,Cuba,Cyprus,Czech Republic,Czechoslovakia,Denmark,Djibouti,Dominica,Dominican Republic,East Timor,Ecuador,Egypt,El Salvador,Equatorial Guinea,Estonia,Ethiopia,Falkland Isl.(Malvinas),Faroe Islands,Fiji,Finland,France,France (European Ter.),French Southern Terr.,Gabon,Gambia,Georgia,Germany,Ghana,Gibraltar,Great Britain (UK),Greece,Greenland,Grenada,Guadeloupe (Fr.),Guam (US),Guatemala,Guinea,Guinea Bissau,Guyana,Guyana (Fr.),Haiti,Heard & McDonald Isl.,Honduras,Hong Kong,Hungary,Iceland,India,Indonesia,Iran,Iraq,Ireland,Israel,Italy,Ivory Coast,Jamaica,Japan,Jordan,Kazachstan,Kenya,Kyrgyz Stan,Kiribati,Korea (North),Korea (South),Kuwait,Laos,Latvia,Lebanon,Lesotho,Liberia,Libya,Liechtenstein,Lithuania,Luxembourg,Macau,Madagascar,Malawi,Malaysia,Maldives,Mali,Malta,Marshall Islands,Martinique (Fr.),Mauritania,Mauritius,Mexico,Micronesia,Moldavia,Monaco,Mongolia,Montserrat,Morocco,Mozambique,Myanmar,Namibia,Nauru,Nepal,Netherland Antilles,Netherlands,Neutral Zone,New Caledonia (Fr.),New Zealand,Nicaragua,Niger,Nigeria,Niue,Norfolk Island,Northern Mariana Isl.,Norway,Oman,Pakistan,Palau,Panama,Papua New,Paraguay,Peru,Philippines,Pitcairn,Poland,Polynesia (Fr.),Portugal,Puerto Rico (US),Qatar,Reunion (Fr.),Romania,Russian Federation,Rwanda,Saint Lucia,Samoa,San Marino,Saudi Arabia,Senegal,Seychelles,Sierra Leone,Singapore,Slovak Republic,Slovenia,Solomon Islands,Somalia,South Africa,Spain,Sri Lanka,St. Helena,St. Pierre & Miquelon,St. Tome and Principe,St.Kitts Nevis Anguilla,St.Vincent & Grenadines,Sudan,Suriname,Svalbard & Jan Mayen Is,Swaziland,Sweden,Switzerland,Syria,Tadjikistan,Taiwan,Tanzania,Thailand,Togo,Tokelau,Tonga,Trinidad & Tobago,Tunisia,Turkey,Turkmenistan,Turks & Caicos Islands,Tuvalu,Uganda,Ukraine,United Arab Emirates,United Kingdom,United States,Uruguay,US Minor outlying Isl.,Uzbekistan,Vanuatu,Vatican City State,Venezuela,Vietnam,Virgin Islands (British)";
	var xCountry=sCountry.split(",");
	var str="";
	if (!isNotWithSelect)str+="<option value='' selected>Select Country</option>\n";else str+="<option value='' selected>Doesn't Matter</option>\n";
	for(i=0;i<xCountry.length; i++)
	if(xCountry[i]==defaultValue)str+="<option value='"+xCountry[i]+"' selected>"+xCountry[i]+"</option>\n";else str+="<option value='"+xCountry[i]+"'>"+xCountry[i]+"</option>\n";
	document.write(str);
}
