function yg_Browser(){
 d=document;
 this.agt=navigator.userAgent.toLowerCase();
 this.major=parseInt(navigator.appVersion);
 this.dom=(d.getElementById);
 this.ns=(d.layers);
 this.ns4up=(this.ns && this.major>=4);
 this.ns6=(this.dom&&navigator.appName=="Netscape");
 this.op=(window.opera);
 if(d.all)this.ie=1;else this.ie=0;
 this.ie4=(d.all&&!this.dom);
 this.ie4up=(this.ie&&this.major>=4);
 this.ie5=(d.all&&this.dom);
 this.ie6=(d.nodeType);
 this.sf=(this.agt.indexOf("safari")!=-1);
 this.win=((this.agt.indexOf("win")!=-1)||(this.agt.indexOf("16bit")!=-1));
 this.winme=(this.agt.indexOf("win 9x 4.90")!=-1);
 this.xpsp2=(this.agt.indexOf("sv1")!=-1);
 this.mac=(this.agt.indexOf("mac")!=-1);
}
var userBrowser = new yg_Browser();
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;
function hidelayer(lay) {
	if (ie4) {document.all[lay].style.visibility = "hidden";}
	if (ns4) {document.layers[lay].visibility = "hide";}
	if (ns6) {document.getElementById([lay]).style.display = "none";}
}
function showlayer(lay) {
	if (ie4) {document.all[lay].style.visibility = "visible";}
	if (ns4) {document.layers[lay].visibility = "show";}
	if (ns6) {document.getElementById([lay]).style.display = "block";}
}
// Function to confirm the deletion action
function confirmDelete(msg){
	if (confirm(msg))
		return true;
	return false;
}
// Function to open a popup window
function openWindow(URL,winName,params) {
  window.open(URL,winName,params);
}
function onlySpaces(myStr){

	while (myStr.substring(0,1) == " ")

    	myStr = myStr.substring(1, myStr.length);

    if (myStr == "")

		return true;

    return false;

}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Function to check for the numeric values in numeric fields

function isInt(myNum) {

	var i;

	var numStr = "1234567890";

	for (i=0; i < myNum.length; i++) {

		if (numStr.indexOf( myNum.substring(i,i+1) ) == -1)

			return false;

	}

	return true;

}

// Function to check special chars

function isSpecialChar(myString){
		var MyStr = '<>;@|[}{]/\\*&^%$#!~+=:,?';
		for (i=0; i<myString.length; i++) {

			var MyChar = myString.substring(i,i+1);

			if (MyStr.indexOf(MyChar) != -1 )

				return true;

		}

	return false;

} 
function isSpecialChar2(myString){
		var MyStr = '<>@|[}{]/\\*&^%$!+=?';
		for (i=0; i<myString.length; i++) {

			var MyChar = myString.substring(i,i+1);

			if (MyStr.indexOf(MyChar) != -1 )

				return true;
		}

	return false;
} 

function checkUserName(nickStr) {
	if ( (nickStr == "") || (onlySpaces(nickStr)) ){
		return false;
	}
	else 
	{
		if(isInt(nickStr.charAt(0)) || nickStr.length < 5 || isSpecialChar(nickStr))
			return false;
	}
	return true;
}
function isValidLogin(nickStr) {
	if ( (nickStr == "") || (onlySpaces(nickStr)) ){
		return false;
	}
	else 
	{
		if(isInt(nickStr.charAt(0)) || nickStr.length < 5 || isSpecialChar(nickStr))
			return false;
	}
	return true;
}
function isValidPassword(passStr) {
	if ( (passStr == "") || (passStr.indexOf(" ")>=0))
		return false;
	else {
		if(passStr.length < 5)
			return false;
	}
	return true;
}
function checkPassword(passStr) {
	if ( (passStr == "") || (passStr.indexOf(" ")>=0))
		return false;
	else {
		if(passStr.length < 5)
			return false;
	}
	return true;
}
function checkInput(txtInput) {
	if ( (txtInput == "") || (onlySpaces(txtInput)) )
		return false;
	else
		return true;
}
function isEmpty(txtInput) {
	if ( (txtInput == "") || (onlySpaces(txtInput)) )
		return true;
	else
		return false;
}

function isValidText(str){
	if ( (str == "") || (onlySpaces(str)) || (isSpecialChar(str)) ){
		return false;
	}
	else{
		return true;
	}
}
function isValidAddress(str){
	if ( (str == "") || (onlySpaces(str)) || (isSpecialChar2(str)) ){
		return false;
	}
	else{
		return true;
	}
}
function checkZipCode(txtInput) {

	if ( (txtInput == "") || (onlySpaces(txtInput)) || !isInt(txtInput) || txtInput.length < 7)

		return false;

	else

		return true;

}
function emailCheck(str) {
 str = removeLRSpaces(str);
 var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)
  if (str.indexOf(at)==-1){
     return false
  }
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
     return false
  }
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
      return false
  }
   if (str.indexOf(at,(lat+1))!=-1){
      return false
   }
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
      return false
   }
   if (str.indexOf(dot,(lat+2))==-1){
      return false
   }
   if (str.indexOf(" ")!=-1){
      return false
   }
   if (str.substring(str.length-1,str.length)==dot){
      return false
   }
   var specialStr = "<>;/ \\*&^%$#!~=:;,?";
	for (i=0; i<str.length; i++) {
		var specialChar = str.substring(i,i+1);
		if (specialStr.indexOf(specialChar) != -1) 
			return false;
	}
   return true          
}

function isValidDate(month, day, year) {
	var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	if(!objRegExp.test(day+"-"+month+"-"+year)){
		return false; //doesn't match pattern, bad date
	}
	else
	{
		if(!isInt(month) || !isInt(day) || !isInt(year)){
			return false;
		}
		month = parseInt(month,10);
		day = parseInt(day,10);
		if(month == 0 || month =='' || day == 0 || day == '' || year == 0 || year==''){
			return false;
		}
		if ( (month > 12) || (day > 31) ){
			return false;
		}
		if ( (month == 9 || month == 4 || month == 6 || month == 11) && (day > 30) ){
			return false;
		}
		if (month == 2) {
			if (year%4 == 0 && day > 29)
				return false;
			if (year%4 != 0 && day > 28)
				return false;
		} 
	 }
	return true;
}

function removeLRSpaces(strValue)

{

	var index

	index=0

	while(index!=-1)

	{

		index=strValue.indexOf(" ");

		if(index!=-1)

			strValue=strValue.substring(0,index)+strValue.substring(index+1);

	}

	return strValue;

}
function textLimit(field, maxlen,msg) {
	if (field.value.length > maxlen + 1)
		alert(msg);
	if (field.value.length > maxlen)
		field.value = field.value.substring(0, maxlen);
}

function isValidURL(urlVal){
	var  tomatch = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
	 if (tomatch.test(urlVal.toLowerCase()))
	 {
		 return true;
	 }
	 else
	 {
		 return false; 
	 }
}
function isSpecial(myString){

		var MyStr = '<>;|[}{]_/\\*&^%$#!~+=:;,?';

		for (i=0; i<myString.length; i++) {

			var MyChar = myString.substring(i,i+1);

			if (MyStr.indexOf(MyChar) != -1 ) {
				return true;
			}

		}

		return false;

	}
function checkall(theform)
{
	if(theform.all.checked)
	{
		for(i=0; i < theform.elements.length; i++){
			if(theform.elements[i].type == "checkbox")
					theform.elements[i].checked = 1;
		}
	}
	else 
	{
		for(i=0; i < theform.elements.length; i++){
			if(theform.elements[i].type == "checkbox")
					theform.elements[i].checked = 0;
		}
	}
}

function isPhoneFax(myString){		

		if ( (myString == "") || (onlySpaces(myString)) ){
			return false;
		}
		else{
				var MyStr = "0123456789-";
				for (i=0; i<myString.length; i++){
					var MyChar = myString.substring(i,i+1);
				if (MyStr.indexOf(MyChar) == -1){
						return false;
					}
				}
				return true;
			}
	}

function checkUnCheck(theForm,delName)
{
	var flag = 1;
		for (i=0; i<theForm.elements.length; i++)
			{	
				if(( theForm.elements[i].type == "checkbox") && (theForm.elements[i].name==delName) )
				{
					if(!theForm.elements[i].checked)
					{
						flag=0;
						break;			
					}
				}
			}
	if(flag==0)
		theForm.all.checked=false;
	else
		theForm.all.checked=true;
}	
function CheckPhoneNumber(TheNumber) {
	var validWorldPhoneChars = "()-+ ";
	var minDigitsInIPhoneNumber = 10;
	
	onlyDigits = stripCharsInBag(TheNumber,validWorldPhoneChars);
	if(onlyDigits.length < minDigitsInIPhoneNumber){
		
		return false;
	}
	else
	{
		var valid = 1
		var digits = "0123456789";
		var i = 0
		if (TheNumber=="") {
			valid = 0
		}
		for (i =0; i <= onlyDigits.length -1; i++) {
			if (digits.indexOf(onlyDigits.charAt(i)) == -1) {
				valid = 0
			} // End if statement
		} // End for loop
		return valid	
	}
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function isEmail(emailStr) {
	//TLD.  1 means check it, 0 means don't. */
	emailStr = removeLRSpaces(emailStr);
	var checkTLD=1;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		//alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			//alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			//alert("Ths domain name contains invalid characters.");
			return false;
		   }
	}
	
	if (user.match(userPat)==null) {
		//alert("The username doesn't seem to be valid.");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Destination IP address is invalid!");
				return false;
			}
		}
	return true;
	}
	
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			//alert("The domain name does not seem to be valid.");
			return false;
		  }
	}
	if ( len<2) {
		//alert("This address is missing a hostname!");
		return false;
	}
	return true;
}
function isValidImage(ImagePath){
	var l_Flag=false;      	
	var a=ImagePath.substring(ImagePath.length - 3,ImagePath.length);
   	var Last4=ImagePath.substring(ImagePath.length - 4,ImagePath.length);
	if (Last4.toUpperCase() == "jpeg".toUpperCase() || a.toUpperCase()=="gif".toUpperCase() || a.toUpperCase() == "png".toUpperCase() || a.toUpperCase() == "jpg".toUpperCase() || a.toUpperCase() == "tif".toUpperCase() || a.toUpperCase() == "bmp".toUpperCase() || Last4.toUpperCase() == "tiff".toUpperCase())
    	l_Flag=true;
   return l_Flag;
}
function check_URL(urlVal)
{
	 var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
	 if (tomatch.test(urlVal.toLowerCase()))
	 {
		 return true;
	 }
	 else
	 {
		 return false; 
	}
}
function removeLeftRightSpaces(mystring){
	mystring= mystring.replace (/^(\s+)/, "").replace (/(\s+)$/, "");
	return mystring;
 }//removeLeftRightSpaces
 function isIntAlpha(myString){		
	if ( (myString == "") || (onlySpaces(myString)) ){
			return false;
	}
	var MyStr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	myString = myString.toUpperCase();
	for (i=0; i<myString.length; i++){
		var MyChar = myString.substring(i,i+1);
		if (MyStr.indexOf(MyChar) == -1){
			return false;
		}
	}
	return true;
}
function isValidFile(ImagePath){
	var l_Flag = true;      	
	if(ImagePath.indexOf(".")==-1){
		return false;
	}
	var a = ImagePath.substring(ImagePath.length - 3,ImagePath.length);
	var Last4 = ImagePath.substring(ImagePath.length - 4,ImagePath.length);
	if ( a.toUpperCase() == "bin".toUpperCase() || a.toUpperCase() == "sis".toUpperCase() || a.toUpperCase() == "dll".toUpperCase() || a.toUpperCase() == "exe".toUpperCase() || a.toUpperCase() == "bat".toUpperCase() || a.toUpperCase() == "com".toUpperCase())
    	l_Flag = false;
   return l_Flag;
}
