function split(sStr, sDelim)
{
	var ipos = null;
	ipos = sStr.indexOf(sDelim);
	if (ipos == -1)
		return (new Array (sStr));
		
	var arrTemp = new Array();

	for (var i=0; ipos != -1; i++)
	{
		arrTemp[i] = sStr.substring(0, ipos);
		sStr = sStr.substring(ipos+sDelim.length, sStr.length);
		ipos = sStr.indexOf(sDelim);
	}
	if (sStr.length != 0)
		arrTemp[i] = sStr
	return 	arrTemp;
}

function getIndex(cmbFrom, sVal)
{
	//get the index of a value placed in combobox or listbox
	for(var i=0; i < cmbFrom.length; i++)
		if (cmbFrom[i].value.toString().toLowerCase() == sVal.toString().toLowerCase())
			return i
	return (-1)
}

function validate(oForm, PathName)
{
//input argument//oForm = contain the object of the form to be validated
	var iCounter=0
	var sFldval,sFldname,sFldType
	var iLength
	var intLoop
	var intStatus=0
	iLength=oForm.elements.length
	while(iCounter<iLength)
	{
		if(oForm.elements[iCounter].type.toString().toLowerCase().indexOf("select")!= -1)
		{
			if(oForm.elements[iCounter].selectedIndex!=-1)
				sFldval=oForm.elements[iCounter][oForm.elements[iCounter].selectedIndex].value;
			else
				sFldval=null;
		}
		else
			sFldval=oForm.elements[iCounter].value;
		
		sFldname=oForm.elements[iCounter].name;
		
		if (sFldval == null)
			sFldlen = 0; 
		else
			sFldlen=sFldval.length;
			
			sFldType = sFldname.substring(0,3);
			sFldType = sFldType.toUpperCase();
			var sImgName = sFldname.substring(2,sFldname.length);
		if (sFldType !="CMD" && sFldType!="HID" && sFldType != "SEL")
		{
				if(sFldname.charAt(1) == "R" && sFldlen==0)
				{
					alert("Please enter value for the required field")
					eval("sFldval=oForm."+ sFldname+".focus()");
										
					if(document.images[sImgName]!=null)
					{	
						document.images[sImgName].src = PathName + "/Images/Pointer.gif";
					}	
					return false;				
				}
				else
				{
					if(document.images[sImgName]!=null)
					{	
						document.images[sImgName].src = PathName + "/Images/transparent.gif";
					}	
				}
				
			if((sFldname.charAt(1) == "R" || sFldname.charAt(1) == "N") && sFldlen > 0)
			{		for (intLoop=0;intLoop!=sFldlen;++intLoop)
					{
						if(sFldval.charAt(intLoop)!=" ")
						{	intStatus=0;
							break;
						}
						else if(sFldval.charAt(intLoop)==" ")
								intStatus=1;
					}
				if(intStatus==1)
					{
						alert("Space characters entered are not valid") 
						eval("sFldval=oForm."+sFldname+".focus()");
						return false;						
					}
			}
				
			if(sFldname.charAt(0)=="M" && isNaN(sFldval))
				{
					alert("Enter valid money value") 
					eval("sFldval=oForm."+sFldname+".focus()");
					return false;
				}
			if(sFldname.charAt(0)=="M" && !isNaN(sFldval))
				{
					if(parseFloat(sFldval) <0 || parseFloat(sFldval) > parseFloat(922337203685477.5808))
					{
						alert("Enter  value in range 0 - 922337203685477.5808") 
						eval("sFldval=oForm."+sFldname+".focus()");
						return false;
					}
				}			
					
			if(sFldname.charAt(0) == "I" && isNaN(sFldval))
				{
					alert("Enter valid numeric value integer") 
					eval("sFldname = oForm."+ sFldname + ".focus()");
					return false;
				}
			if(sFldname.charAt(0) == "I" &&  !isNaN(sFldval))
				{			
					if(parseInt(sFldval) <0 || parseFloat(sFldval) > parseFloat(2147483647))
						{
							alert("Enter  value in range 0 - 2147483647") 
							eval("sFldval=oForm."+sFldname+".focus()");
							return false;
						}
				}
			if(sFldname.charAt(0) == "F" && isNaN(sFldval))
				{
					alert("Enter valid numeric value float") 
					eval("sFldval=oForm."+sFldname+".focus()");
					return false;
				}
			if(sFldname.charAt(0) == "F" &&  !isNaN(sFldval))
				{			
					if(parseFloat(sFldval) <0 )
						{
							alert("Enter valid value" ) 
							eval("sFldval=oForm."+sFldname+".focus()");
							return false;
						}
				}
			if(sFldname.charAt(0) == "Y" && isNaN(sFldval))
				{
					alert("Enter valid value ") 
					eval("sFldval=oForm."+sFldname+".focus()");
					return false;
				}
			if(sFldname.charAt(0) == "Y" &&  !isNaN(sFldval))
				{			
					if(parseInt(sFldval) <0 || parseInt(sFldval) > parseInt(255))
						{
							alert("Enter valid  value in range 0 - 255") 
							eval("sFldval=oForm."+sFldname+".focus()");
							return false;
						}
				}
			if(sFldname.charAt(0) == "S" && isNaN(sFldval))
				{
					alert("Enter valid numeric value ") 
					eval("sFldval=oForm."+sFldname+".focus()");
					return false;
				}
			if(sFldname.charAt(0) == "S" && !isNaN(sFldval))
				{			
					if(parseInt(sFldval) < 0  || parseInt(sFldval) > 32767)
						{
							alert("Enter valid value in range 0 - 32767") 
							eval("sFldval=oForm."+sFldname+".focus()");
							return false;
						}
				}
			if(sFldname.charAt(0) == "D" && (sFldlen > 0)&& (sFldval!=" ")) 	
				{
					var str=sFldval.replace(/-/g,"/");
					if (isNaN(Date.parse(str)) )
					{
						alert("Please Enter a Valid Date");
						eval("sFldval=oForm."+sFldname+".focus()");
						return false;
					}
					else
					{
						if(parseInt(str.length) < 6)
							{
								alert("Enter a Valid Date ");
								eval("sFldval=oForm."+sFldname+".focus()");
								return false;
							}
						else
							if(parseInt(str.Length)>10)
							{
								alert("Enter Valid Date");
								eval("sFldval=oForm."+sFldname+".focus()");
								return false;
							}
					} 
					if (isDate(sFldval) == false){
						eval("sFldval=oForm."+sFldname+".focus()");
						return false;
						}
				}
				
			if(sFldname.charAt(0) == "K" && (sFldlen > 0)&& (sFldval!=" ")) 	
				{
					var str=sFldval;
						if((parseInt(str.length) <4) || (parseInt(str.length) >4))
							{
								alert("Please Enter a Valid Time like (0130,2300)");
								eval("sFldval=oForm."+sFldname+".focus()");
								return false;
							}
						if (isNaN(sFldval))
							{
								alert("Please Enter a Valid Time like (0130,2300)");
								eval("sFldval=oForm."+sFldname+".focus()");
								return false;
							}
	
				}
			else if ((sFldname.charAt(0) == "K") && (sFldval.charAt(0)==" "))
				{
					alert("Please Enter a Valid Time like (0130,2300)");
					eval("sFldval=oForm."+sFldname+".focus()");
					return false;
				}		
			if(sFldname.charAt(0) == "T")
				{
				  if(eval("oForm." + sFldname + ".value") != "")
				  {
					if (sFldname.indexOf("EF_") == 2)
					{
						if(!ValidateEMail(eval("oForm." + sFldname)))
						{
							alert("Please enter a valid email address.")
							eval("oForm." + sFldname + ".focus()")
							return false
						}	
					}

				  }
				} 	
			}
		
		iCounter=iCounter+1;
		
	}
		return true;
}

function conDate(sValue)
{
	if (sValue.length = 1)
		return  "0" + sValue
	else
		return sValue
}

function getSelectedComboOptions(obj)
{
	var arrSelected="";
	if(obj.length){
		for(var i=0;i<obj.length;i++)
		{
			if(obj[i].selected==true)
			 {
				arrSelected = obj[i].value + ", " + arrSelected;
			 }
		}
		arrSelected = arrSelected.substring(0, arrSelected.length-2)
	}
	else
	{
		if(obj.checked) arrSelected = obj.value
	}
	return arrSelected;
}

function isDate(strFieldName,strMsg){
   var objFormField = document.forms[0].elements[strFieldName];
   strDate = objFormField.value;
   if(strDate.length>0){
           var dateregex=/^[ ]*[0]?(\d{1,2})\/(\d{1,2})\/(\d{4,})[ ]*$/;
            var match=strDate.match(dateregex);
            if (match){
                      var tmpdate=new Date(match[3],parseInt(match[1],10)-1,match[2]);
                 if (tmpdate.getDate()==parseInt(match[2],10) && tmpdate.getFullYear()==parseInt(match[3],10) && (tmpdate.getMonth()+1)==parseInt(match[1],10)){ 
                    return true; 
                    }
            }
                   strAlertMsg += "- "+ strMsg +" is Required.\nExample: 01/01/2003\n";
              if(!focusField) focusField =""+ strFieldName +"";
        return false;
   }
   else{
        return true;
   }
}

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
	return true;
}

function Toggle(dvID, URL, MenuID)
{
	if(URL!="#")
	{
		document.location.href = URL;
	}
	if(document.getElementById(dvID).style.display=='none')
	{
		CloseAll();
		OpenPath(dvID);
		document.getElementById(dvID).style.display='block';
	}
	else
	{
		document.getElementById(dvID).style.display='none';
	}
	return false;
}

function OpenParentMenuList(URL, CatID)
{
	document.forms[0].HID_ParentCat.value = CatID;
	document.forms[0].HID_CategoryID.value = CatID;
	document.forms[0].action = URL;
	document.forms[0].submit();
	return false;
}

function CloseAll()
{
	for(i=0;i<document.getElementsByTagName("div").length;i++)
	{
		var item = document.getElementsByTagName("div").item(i).getAttribute("ID")
		if(item!=null)
		{
			if(item.substring(0,11)=='dvCatMenu0_')
			{
				document.getElementsByTagName("div").item(i).style.display = 'none';
	//			alert("document.getElementsByName{'img" + replace(document.getElementsByTagName("div")[i].id, "dvCatMenu", "") + "').src='Images/spacer.gif'");
	//			eval("document.getElementsByID{'img" + replace(document.getElementsByTagName("div")[i].id, "dvCatMenu", "") + "').src='Images/spacer.gif';");
	//			eval("document.images['img" + replace(document.getElementsByTagName("div")[i].id, "dvCatMenu", "") + "'].src='Images/spacer.gif';");
	//			eval("document.images['img" + replace(document.getElementsByTagName("div")[i].id, "dvCatMenu", "") + "'].src='Images/spacer.gif'");
			}
		}
	}
}

function replace(s, t, u) 
{
	/*
	**  Replace a token in a string
	**    s  string to be processed
	**    t  token to be found and removed
	**    u  token to be inserted
	**  returns new String
	*/
	i = s.indexOf(t);
	r = "";
	if (i == -1) return s;
	r += s.substring(0,i) + u;
	if ( i + t.length < s.length)
		r += replace(s.substring(i + t.length, s.length), t, u);
	return r;
}

function OpenPath(dvID)
{
	var Path = dvID.substring(11,dvID.length).split('_');
	var CumulativePath = '';
	var sep = '';
	for(i=0;i<Path.length;i++)
	{
		CumulativePath = CumulativePath + sep + Path[i];
		sep = "_";
		eval("document.getElementById('dvCatMenu0_" + CumulativePath + "').style.display='block'");
	}
}


function ValidateEMail(obj) {
	var emailAddress = obj.value;
//	var match = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/.test(emailAddress);
	var match = /^[_a-zA-Z0-9-+]+(\.[_a-zA-Z0-9-+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/.test(emailAddress);
	return match;
}

//**get the specific dom-expression**//
function getElement()
{
	if(document.getElementById)
	{
		this.elem = document.getElementById(this.name);
	}
	else if (document.all)
	{
		this.elem = document.all[name];
	}
	else if (document.layers)
	{
		this.elem = document.layers[name];
	}
}

//**pretty obvious - if NS4 - please upgrade to a standard compliant browser**//
function createLayer()
{
	if(document.getElementById || document.all)
	{
		document.write('<div id="layer'+this.name+'" style="position:relative;overflow:hidden;float:'+this.initFl+';border:0px solid black;width:'+this.initW+'px;height:'+this.initH+'px;" onMouseover="'+this.name+'.scrollLoop(0)" onMouseout="'+this.name+'.scrollLoop('+this.speed+')">');
		document.write('<div id="'+this.name+'" style="position:absolute;top:'+this.initH+'px;left:0px;border:0px solid black;width:'+this.widthB+'px;height:'+this.heightB+'px">');
		document.write(this.content);
		document.write('<\/div><\/div>');
	}
	else if(document.layers)
	{
		document.write('<ilayer name="'+this.name+'" bgcolor="#'+this.Bg+'" width="'+this.widthB+'" height="'+this.heightB+'">'+this.content+'<\/ilayer>');
		return;
	}
	if(this.scrollLayer)
	{
		this.timer = setInterval(this.name+'.scrollLayer()','30');
	}
}

function OpenNews(id)
{
	document.forms[0].action = 'NewsArticle.asp?id=' + id;
	document.forms[0].submit();
	return false;
}

function ViewMoreArticles(id)
{
	document.forms[0].action = 'Details.asp?aid=' + id;
	document.forms[0].submit();
	return false;
}

function ViewMoreNews(id)
{
	document.forms[0].action = 'NewsArticle.asp?id=' + id;
	document.forms[0].submit();
	return false;
}

function taLimit() {
	var taObj=event.srcElement;
	if (taObj.value.length==taObj.maxLength*1) return false;
}

function taCount(visCnt) { 
	var taObj=event.srcElement;
	if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);
	if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;
}

function OpenMenuFromPath(iMenuID, URL)
{
	document.forms[0].action = URL + '?id=' + iMenuID;
	document.forms[0].submit();
	return false;
}

function ChangeLanguage(lid,action)
{
	document.forms[0].HID_LangID.value=lid;
	document.forms[0].action=action;
	document.forms[0].submit();
}

function Shortcut(obj)
{
	if(obj.value=='')
		return false;
	var URL = obj.value.split('#^#')[0];
	var Target = obj.value.split('#^#')[1];
	if(Target=='1')
	{
		document.location.href=URL;
	}
	else
	{
		window.open(URL, '')
	}
}
