var w = 10;
var h = 10;
var timeoutID ;
function IsCharecter(strString)   {
	
	if(!strString) return false;
	
   var strValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
   var strChar;
   var blnResult = true;
	var nstr = "";
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)  {
	         
	      blnResult = false;   
	         
         } else {
	         nstr = nstr + strChar;
         }
      }
      
   return blnResult;
}

var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
function specialcharacter(val) {     //onKeyUp="javascript:specialcharacter(formname.fieldname);" 
var strPass = val.value;
var strLength = strPass.length;
var lchar = val.value.charAt((strLength) - 1);
if(lchar.search(mikExp) != -1) {
var tst = val.value.substring(0, (strLength) - 1);
val.value = tst;
   }
}


function specialcharacternot(form) {  //onKeyUp="javascript:specialcharacternot(formname.fieldname);

if(form.value.search(mikExp) == -1) {
return false;
}
else {
alert("Sorry, but the following characters are not allowed!\n");
form.select();

form.focus();
return false;
}
}


function isvalid(e, val) {
		var unicode=e.charCode? e.charCode : e.keyCode;
		var parm=String.fromCharCode(unicode);
		
		if (!((unicode==8)||(unicode==45)||(unicode==43)))
		{ 
			if(parm == "")
			{ 
				return true;
			}
			else
			{
				if(val.indexOf(parm,0) == -1)
				{
					return false;
				}
				else
				{
					return true;
				}
			}		
		}
	}


	function isvalidspace(e, val)
	{
		
		var unicode=e.charCode? e.charCode : e.keyCode;
		var parm=String.fromCharCode(unicode);
		//alert(unicode);
		if (!((unicode==8)||(unicode==32)))
		{ 
			if(parm == "")
			{ 
				return true;
			}
			else
			{
				if(val.indexOf(parm,0) == -1)
				{
					return false;
				}
				else
				{
					return true;
				}
			}		
		}
	}
function isvalidnotspace(e, val)
	{
		
		var unicode=e.charCode? e.charCode : e.keyCode;
		var parm=String.fromCharCode(unicode);
		//alert(unicode);
		if (!(unicode==8))
		{ 
			if(parm == "")
			{ 
				return true;
			}
			else
			{
				if(val.indexOf(parm,0) == -1)
				{
					return false;
				}
				else
				{
					return true;
				}
			}		
		}
	}


function IsNumeric(strString)   {
//	alert(strString);
	if(!strString) return false;
	
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;
	var nstr = "";
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)  {
         	alert(strString.charAt(i));
	         
	      blnResult = false;   
	         
         } else {
	         nstr = nstr + strChar;
         }
      }
      
   return blnResult;
}
function IsNumeric2(strString)   {
//	alert(strString);
	if(!strString) return false;
	
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;
	var nstr = "";
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)  {
         	alert(strString.charAt(i));
	         
	      blnResult = false;   
	         
         } else {
	         nstr = nstr + strChar;
         }
      }
      
   return blnResult;
}
function OnlyNumbers(e)
{
	var keynum;
	var keychar;
	var numcheck;
	var thekeycode;	
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	
	if ((keynum==17) || (keynum==18) ||(keynum==190) || (keynum==110) || (keynum==16) || (keynum==9) || (keynum==20) ||  (keynum==13) || (keynum==8) || (keynum==37) || (keynum==38) || (keynum==39) || (keynum==40) || (keynum==46) || (keynum==17) || ( keynum>=96 && keynum<=105 ) || ( keynum>=48 && keynum<=57 )) {
		numcheck=	/\d/;
		return keynum;//numcheck.test(keychar);
	}else {
		numcheck=	/\d/;
		return numcheck.test(keychar);
	}
}
function IsNumChar(strString)   {
	
	if(!strString) return false;
   var strValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var strChar;
   var blnResult = true;
	var nstr = "";
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)  {
         	
	         
	      blnResult = false;   
	         
         } else {
	         nstr = nstr + strChar;
         }
      }
      
   return blnResult;
}

function IsAphaNumeric(strString)   {
	
	if(!strString) return false;
   var strValidChars = "0123456789.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
   var strChar;
   var blnResult = true;
	var nstr = "";
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)  {
         	
	         
	      blnResult = false;   
	         
         } else {
	         nstr = nstr + strChar;
         }
      }
      
   return blnResult;
}

var pattern = new Array();
pattern.push("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ '");  		//0 title
pattern.push("0123456789.+");															//1 phone
pattern.push("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");					//2 only charecter
pattern.push("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ");					//3 name
pattern.push("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ',.-/#");	//4	 address
pattern.push("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.@_");		//5 email address
pattern.push("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");			//6 password
pattern.push("ABCDEFGHIJKLMNOPQRSTUVWXYZ_");			//7 email code
pattern.push("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._:/");		//8 website
pattern.push("0123456789");															//9 Numbers


function IsValid(strString,patternindex,caption)   {
	
	if(!strString)  {
		alert("Please enter value for "+caption)
		return false;
	}
	
	var strValidChars = pattern[patternindex];
	var strChar;
	var blnResult = true;
	var nstr = "";
	if (strString.length == 0) return false;
	
	for (i = 0; i < strString.length && blnResult == true; i++)
	  {
	  strChar = strString.charAt(i);
	  if (strValidChars.indexOf(strChar) == -1)  {
	     	
	    	alert("Invalid Charecter input for "+caption)
			blnResult = false;
	         
	     } else {
	         nstr = nstr + strChar;
	     }
	  }
	  
	
	return blnResult;
}


function IsValidKeyDown(obj,patternindex)   {
	strString = obj.value;
	var strValidChars = pattern[patternindex];
	var strChar;
	var blnResult = true;
	var nstr = "";
	if (strString.length == 0) return false;
	
	for (i = 0; i < strString.length && blnResult == true; i++)
	  {
	  	strChar = strString.charAt(i);
	  if (strValidChars.indexOf(strChar) != -1)  {
	     	
	    	nstr = nstr + strChar;
	         
	     } 
	     
	  }
	  
	obj.value = nstr;
	
}



function emailCheck (emailStr) {
	
	if(!emailStr) return false;	
	
	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]


	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 domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("The domain name doesn't seem to be valid.")
	    return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}

	
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	   alert(errStr)
	   return false
	}
	
	
	


	return true;
}

function is_url(url) {
     var theurl=url;
     var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
     if (tomatch.test(theurl))
     {
         return true;
     }
     else
     {
         window.alert("Please Enter Valid URL.");
         return false; 
     }
}

function lengthUser(elem, min){
	var uInput = document.Addfrm.loginname.value;
	if(uInput.length >= min) {
		return true;
	} else {
		alert("User Name should have atleast " +min+ " characters");
		document.Addfrm.loginname.focus();
		return false;
	}
return true;
}

function lengthRestriction(elem, min, max){
	var uInput =  document.Addfrm.loginname.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		document.Addfrm.loginname.focus();
		return false;
}
return true;
}


function ToggleContainer(doc,url,w,h,l,t) {
	
	if(!doc) doc = this.document;
	
	var obj = doc.getElementById("container");
	
	var frame = doc.getElementById("frm");
	
	var overlay = doc.getElementById("overlay");
	
	var st = obj.style.display;
	
	if(!st) st = "none";
	
	
	if(st == "none") {
		
		obj.style.display = "block";
		overlay.style.display = "block";
		
		if(parseInt(w)>0) {
			//obj.style.width = w + "px";
			//frame.width = w + "px";	
		}
		
		if(parseInt(h)>0) {
			//obj.style.height = h + "px";
				//frame.height = h+ "px";	
		}
		else
		{
			//obj.style.height = "75%";
				//frame.height = "100%";	
		}
		if(parseInt(l)>0) {
			obj.style.left = l + "px";
		}
		if(parseInt(t)>0) {
			obj.style.top = t + "px";
		}

		//before loading overlay hide the select controls (working for Internet Explorer )
		for (i=0;i<doc.forms.length;i++){
			for(j=0;j<doc.forms[i].elements.length;j++){
				if (doc.forms[i].elements[j].type=="select-one" || doc.forms[i].elements[j].type=="select-multiple"){
					doc.forms[i].elements[j].style.visibility="hidden";
				}
			}
		}
		
	}else {
		//before hiding overlay show the select controls (working for Internet Explorer )
		for (i=0;i<doc.forms.length;i++){
			for(j=0;j<doc.forms[i].elements.length;j++){
				if (doc.forms[i].elements[j].type=="select-one" || doc.forms[i].elements[j].type=="select-multiple"){
					doc.forms[i].elements[j].style.visibility="visible";
				}
			}
		}
			
		obj.style.display = "none";
		overlay.style.display = "none";
	}
	
	frame.src ="";
	
	if(!url) url = "loading.html";
	
	frame.src = url;
	
	
}

function effectOverlay(doc) {
	
	var overlay = doc.getElementById("overlay");
	
	h = h + 10;
	w = w + 10;
	
	overlay.style.width = w + "	px";
	overlay.style.height = h + "px";
	if(h == 1000) {
		clearTimeout(timeoutID);
		return;
	}else {
		var timeoutID = ("effectOverlay("+doc+")", 500);	
	}
}


function SetCenter(panel,w,h) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }

var   panel_width = w;
var   panel_height = h;
	
var panel_left = parseInt(myWidth - panel_width/2);

var panel_top = parseInt(myHeight - panel_height/2);

var crd = getPageEventCoords(evt);
panel.style.left= panel_left + "px";
panel.style.top= panel_top + "px";

}


function getPageEventCoords(evt) {
    var coords = {left:0, top:0};
   	 
     evt = (evt) ? evt : event;
    if (evt.pageX) {
        coords.left = evt.pageX;
        coords.top = evt.pageY;
    } else if (evt.clientX) {
        coords.left = 
            evt.clientX + document.body.scrollLeft - document.body.clientLeft;
        coords.top = 
            evt.clientY + document.body.scrollTop - document.body.clientTop;
        // include html element space, if applicable
        if (document.body.parentElement && document.body.parentElement.clientLeft) {
            var bodParent = document.body.parentElement;
            coords.left += bodParent.scrollLeft - bodParent.clientLeft;
            coords.top += bodParent.scrollTop - bodParent.clientTop;
        }
    }
    
    return coords;
}



function isAlphabet(elem, helperMsg){
    var alphaExp = /^[a-zA-Z]+$/;
    if(elem.value.match(alphaExp)){
        return true;
    }else{
        alert(helperMsg);
        elem.focus();
        return false;
    }
}










 