﻿// JScript File

function funOpenWin(vURL,vWinName,vHeight,vWidth,vScroll,vResize){
	vLeftPosition=(screen.width)?(screen.width-vWidth)/2:100;
	vTopPosition=(screen.height)?(screen.height-vHeight)/2:100;
	vSettings = 'top='+(vTopPosition)	
	if (vWidth != '')
	    vSettings = vSettings + ',width='+(vWidth)
    if (vHeight != '')
	    vSettings = vSettings + ',height='+(vHeight)
	vSettings = vSettings + ',left='+(vLeftPosition)+',scrollbars='+vScroll+',location=no,directories=no,status=yes,menubar=no,addressbars=no,toolbar=no,resizable='+vResize;	
	//window.open(urlencode(vURL),vWinName,vSettings);
	win=window.open(vURL,vWinName,vSettings);
	//if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
    
function LTrim(str)
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

function RTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}

function Trim(str)
{
   return RTrim(LTrim(str));
}

//for validating email
function CheckEmail(email , label)
{
    var emailReg = "([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-])+)+";
    var regex = new RegExp(emailReg);
    src =  Trim(email.value)
    if (!regex.test(src)) 
    {
        alert(label + " is invalid");
        return false;	
     }
    return true;
}

//validate number
function ValidateNumber(field) 
{
    var valid = "0123456789"
    var ok = "yes";
    var temp;

    field.value = Trim(field.value)
    for (var i=0; i<field.value.length; i++) 
    {
        temp = "" + field.value.substring(i,i+1)
        if (valid.indexOf(temp) == "-1") 
        { 
		    ok = "no"; 
        }
   }
   if (ok == "no")
   {
        return false;
    }
    else
    {
		return true;
    }
}

function getDocURL()
{
    return document.URL;
}


function ValidatePhoneNumberValue(PhoneNumberPart1,PhoneNumberPart2,PhoneNumberPart3,label,objPhone)
{
        //if (Trim(PhoneNumberPart1).length != 0 || Trim(PhoneNumberPart2).length != 0 || Trim(PhoneNumberPart3).length != 0){
            if (Trim(PhoneNumberPart1).length == 0){
                alert("\"" + label + "\" is required");
                objPhone.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart1).length < 3){
                alert("\"" + label + "\" is invalid");
                objPhone.focus();
                return false;                
            }            
            if (ValidateNumberValue(PhoneNumberPart1) == false){
                alert("\"" + label + "\" is invalid");                
                objPhone.focus();
                return false;
            }
            if (Trim(PhoneNumberPart2).length == 0){
                alert("\"" + label + "\" is required");
                objPhone.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart2).length < 3){
                alert("\"" + label + "\" is invalid");
                objPhone.focus();
                return false;                
            }  
            if (ValidateNumberValue(PhoneNumberPart2) == false){
                alert("\"" + label + "\" is invalid");                
                objPhone.focus();
                return false;
            }
            if (Trim(PhoneNumberPart3).length == 0){
                alert("\"" + label + "\" is required");
                objPhone.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart3).length < 4){
                alert(label + " is invalid");
                objPhone.focus();
                return false;                
            }  
            if (ValidateNumberValue(PhoneNumberPart3) == false){
                alert("\"" + label + "\" is invalid");                
                objPhone.focus();
                return false;
            }                        
        //}
        return true;
}


function ValidatePhoneNumber(PhoneNumberPart1,PhoneNumberPart2,PhoneNumberPart3,label)
{
    if (Trim(PhoneNumberPart1.value).length != 0 || Trim(PhoneNumberPart2.value).length != 0 || Trim(PhoneNumberPart3.value).length != 0){
            if (Trim(PhoneNumberPart1.value).length == 0){
                alert("\"" + label + "\" is required");
                PhoneNumberPart1.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart1.value).length < 3){
                alert("\"" + label + "\" is invalid");
                PhoneNumberPart1.focus();
                return false;                
            }            
            if (ValidateNumber(PhoneNumberPart1) == false){
                alert("\"" + label + "\" is invalid");                
                PhoneNumberPart1.focus();
                return false;
            }
            if (Trim(PhoneNumberPart2.value).length == 0){
                alert("\"" + label + "\" is required");
                PhoneNumberPart2.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart2.value).length < 3){
                alert("\"" + label + "\" is invalid");
                PhoneNumberPart2.focus();
                return false;                
            }  
            if (ValidateNumber(PhoneNumberPart2) == false){
                alert("\"" + label + "\" is invalid");                
                PhoneNumberPart2.focus();
                return false;
            }
            if (Trim(PhoneNumberPart3.value).length == 0){
                alert("\"" + label + "\" is required");
                PhoneNumberPart3.focus();
                return false;                
            }
            if (Trim(PhoneNumberPart3.value).length < 4){
                alert(label + " is invalid");
                PhoneNumberPart3.focus();
                return false;                
            }  
            if (ValidateNumber(PhoneNumberPart3) == false){
                alert("\"" + label + "\" is invalid");                
                PhoneNumberPart3.focus();
                return false;
            }                        
        }
        return true;
}

function ValidateTaxId(TaxId)
{
   var str;
   if(Trim(TaxId).length > 11 || Trim(TaxId).length < 9)
    {   
        //str = "Tax ID should be between 9-11 characters";
        //return str;	
        return false;	
    }
    
    if(TaxId.indexOf(" ") >= 0)	//it is a 0 based index
    {
//            str = "spaces are not allowed";
//            return str;		
        return false;	
    }
    
    if(Trim(TaxId).length == 9)
    {
        if(isNaN(TaxId.substr(0,9)))
        {
//            str = "Tax id should be integer";
//            return str;		
        return false;	
       } 
    }
    else if(Trim(TaxId).length == 10)
    {
        if(TaxId.indexOf("-") != 2 || isNaN(TaxId.substr(0,2)) || isNaN(TaxId.substr(3,7)) )
        {
//                str ="incorrect format for 10 digits";
//                return str;
            return false;	
        }
    }
    else if(Trim(TaxId).length == 11)
    {
        if(TaxId.indexOf("-") != 3 || TaxId.indexOf("-",4) != 6 || isNaN(TaxId.substr(0,3)) || isNaN(TaxId.substr(4,2)) || isNaN(TaxId.substr(7,4)) )
        {
//                str ="incorrect format for 11 digits";
//                return str;
            return false;	
        }
    }
    return true;
}

//function to validate the zip

function validate_zip(zipval)
{
			var str;
			str="ok";
			
			if(Trim(zipval)=="")
			{
					str="Zip is required";
					return str;
			}
			if(zipval.indexOf(" ") >= 0)	//it is a 0 based index
			{
					str="Enter a correct zip";
					return str;
			}
			if(zipval.length != 5)
			{
					str="Zip should be of 5 digits";
					return str;
			}
	
			if(isNaN(zipval))
			{
					str="Zip should be numeric";
					return str;
			}
			
			//in case all of the above are ok			
			return str;//this will contain ok
}

function ValidatePassword(varNewPassword, varConfirmPassword)
{
       var bResult = false; 
       if(varNewPassword.value.length >= 8 && varNewPassword.value.length < 20 )
       {
             if(chkPwdCase(varNewPassword))
             {
                  if(chkPwdCharRepeatation(varNewPassword))
                  {
                    //return true;
                    if(chkPwdConsCharRepetation(varNewPassword))
                    {
                      bResult = true;
                    }
                  } 
             }
       }
       else
       {
         alert("Password should be between 8-20 characters.");
       }

       if (bResult == false) 
       {
            varNewPassword.value="";
            varConfirmPassword.value="";
       }

       return bResult;

}
    
    
function chkPwdCharRepeatation(varNewPassword)
{
    var strPassword=varNewPassword.value
    var len;
    var i;
    var j;
    var ch;
    var ch1;
    var charCount;
    len=varNewPassword.value.length ;
    strPassword=strPassword.toUpperCase()
    for(i=0;i<len;i++)
    {
       ch=strPassword.charAt(i);
       charCount=0; 
       for(j=0;j<len;j++)
       {
            ch1=strPassword.charAt(j);
            if(ch==ch1)
            {
                charCount=charCount + 1        
            }
            if(charCount>4)
            {
                alert("Please do not repeat any character more than 4 times");
                //varNewPassword.value=""
                //varConfirmPassword.value=""
                return false;
           }
        }
    }
    return true;
}
    
function chkPwdCase(varNewPassword)
{   
    var strUpper=new String("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
    var strLower=new String("abcdefghijklmnopqrstuvwxyz")
    var strNumeric=new String("0123456789")
    var strPassword=varNewPassword.value
    var ch;
    var i;
    var chLower;
    var chNumeric
    var countUpper=0;
    var countLower=0;
    var countNumeric=0;
    var len;
    len=varNewPassword.value.length ;
    
    for(i=0;i<len;i++)
    {
        ch=strPassword.charAt(i);
        ch=strUpper.match(ch)
        if(ch!=null)
        {
         countUpper=countUpper + 1;
        }     
        chLower=strPassword.charAt(i);
        chLower=strLower.match(chLower);
        if(chLower!=null)
         {
            countLower=countLower + 1;
         }     
         chNumeric=strPassword.charAt(i);
         chNumeric=strNumeric.match(chNumeric);
         if(chNumeric!=null)
          {
            countNumeric=countNumeric + 1;
          }     
    }      

     if(countUpper < 1)
     {
       alert("Please enter at least one uppercase character");
       return false;
     }
 
     if(countLower < 1)
      {
        alert("Please enter at least one lowercase character");
        return false;
      }
      
      if(countNumeric < 1)
      {
        alert("Please enter at least one numeric character");
        return false;
      }
      if(countLower > 0 && countNumeric > 0 && countUpper >0 )  
      {
        return true;
      }    
}
       
function chkPwdConsCharRepetation(varNewPassword)
{
    var pValue = varNewPassword.value.toUpperCase();
    var iCnt=0;
    var jCnt=0;
    var booExit = false;
    for(iCnt=0;iCnt<pValue.length;iCnt++)
    {
     var count=1;
     var chkChar = pValue.substr(iCnt,1);
     for(jCnt=iCnt+1;jCnt<pValue.length;jCnt++)
     {
       if (pValue.substr(jCnt,1) == chkChar)
        {
           if (count==2)
           {
              alert("Please do not repeat consecutive character more than 2 times");    
              return false;                                
           }
           else
           {
            count++;
           }                                                               
        }   
        else
        {
         break;
        }                                                
      }  
       
    } 
    return true;
} 

function ParseForNumber1(object){
	phonevalue1 = ParseChar(object.value, zChar);
}
function ParseForNumber2(object){
	phonevalue2 = ParseChar(object.value, zChar);
}

function backspacerUP(object,e) { 
	if(e){ 
		e = e 
	} else {
		e = window.event 
	} 
	if(e.which){ 
		var keycode = e.which 
	} else {
		var keycode = e.keyCode 
	}

	ParseForNumber1(object)

	if(keycode > 48){
		ValidatePhone(object)
	}
}

function backspacerDOWN(object,e) { 
    
	if(e){ 
		e = e 
	} else {
		e = window.event 
	} 
	if(e.which){ 
		var keycode = e.which 
	} else {
		var keycode = e.keyCode 
	}
	ParseForNumber2(object)
} 

function GetCursorPosition(){
    
	var t1 = phonevalue1;
	var t2 = phonevalue2;
	var bool = false
    for (i=0; i<t1.length; i++)
    {
    	if (t1.substring(i,1) != t2.substring(i,1)) {
    		if(!bool) {
    			cursorposition=i
    			bool=true
    		}
    	}
    }
}

function ValidatePhone(object){
	
	var p = phonevalue1
	
	p = p.replace(/[^\d]*/gi,"")

	if (p.length < 3) {
		object.value=p
	} else if(p.length==3){
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){
			pp="("+pp;
		}
		if(d5==-1){
			pp=pp+")";
		}
		object.value = pp;
	} else if(p.length>3 && p.length < 7){
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"

		p31=p.substring(4,l30);
		pp=p30+p31;

		object.value = pp;	
		
	} else if(p.length >= 7){
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"
		
		p31=p.substring(4,l30);
		pp=p30+p31;
		
		l40 = pp.length;
		p40 = pp.substring(0,8);
		p40 = p40 + "-"
		
		p41 = pp.substring(8,l40);
		ppp = p40 + p41;
		
		object.value = ppp.substring(0, maxphonelength);
	}
	
	GetCursorPosition()
	
	if(cursorposition >= 0){
		if (cursorposition == 0) {
			cursorposition = 2
		} else if (cursorposition <= 2) {
			cursorposition = cursorposition + 1
		} else if (cursorposition <= 5) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 6) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 7) {
			cursorposition = cursorposition + 4
			e1=object.value.indexOf(')')
			e2=object.value.indexOf('-')
			if (e1>-1 && e2>-1){
				if (e2-e1 == 4) {
					cursorposition = cursorposition - 1
				}
			}
		} else if (cursorposition < 11) {
			cursorposition = cursorposition + 3
		} else if (cursorposition == 11) {
			cursorposition = cursorposition + 1
		} else if (cursorposition >= 12) {
			cursorposition = cursorposition
		}

        var txtRange = object.createTextRange();
        txtRange.moveStart( "character", cursorposition);
		txtRange.moveEnd( "character", cursorposition - object.value.length);
        txtRange.select();
    }

}

function ParseChar(sStr, sChar)
{
    if (sChar.length == null) 
    {
        zChar = new Array(sChar);
    }
    else zChar = sChar;
    
    for (i=0; i<zChar.length; i++)
    {
        sNewStr = "";
    
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
    
        while (iEnd != -1)
        {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
        
        sStr = sNewStr;
    }
    
    return sNewStr;
}
//validate number
function ValidateNumberValue(fieldVal) 
{
    var valid = "0123456789"
    var ok = "yes";
    var temp;

    //field.value = Trim(field.value)
    fieldVal = Trim(fieldVal)
    for (var i=0; i<fieldVal.length; i++) 
    {
        temp = "" +  fieldVal.substring(i,i+1)
        if (valid.indexOf(temp) == "-1") 
        { 
		    ok = "no"; 
        }
   }
   if (ok == "no")
   {
        return false;
    }
    else
    {
		return true;
    }
}
//bookmark
function BookmarkMe(vURL,vBTitle){
    window.external.AddFavorite(vURL,vBTitle);
}

//validate decimal number
function ValidateDecimalNumber(field) 
{
    var valid = "0123456789."
    var ok = "yes";
    var temp;

    field.value = Trim(field.value)
    for (var i=0; i<field.value.length; i++) 
    {
        temp = "" + field.value.substring(i,i+1)
        if (valid.indexOf(temp) == "-1") 
        { 
		    ok = "no"; 
        }
   }
   if (ok == "no")
   {
        return false;
    }
    else
    {
		return true;
    }
}

function autoTabP(input,len, e) 
{    
    if(!isInteger(input.value))
    {
        input.value = input.value.substring(0,input.value.length-1);
        input.value = '';
        input.focus();
        return false;
    }
    if(input.value.length >= len) 
    {
        input.value = input.value.slice(0, len);
        if(input.form[(getIndex(input)+1) % input.form.length].name.indexOf('_ctl',0)==-1 && input.form[(getIndex(input)+1) % input.form.length].name.indexOf('__VIEWSTATE',0)==-1)
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
    return true;
}

function getIndex(input) 
{
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
        if (input.form[i] == input)
            index = i;
        else 
            i++;
    return index;
}

function isInteger(strVal)
{                           
    var validStr='0123456789';
    var temp;
    for (var i=0; i<strVal.length; i++)
    {
        temp =  strVal.substring(i,i+1);
        if (validStr.indexOf(temp) == -1)  return false;
    }
    return true;
}

function findPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
	    while (obj.offsetParent)
	    {
		    curleft += obj.offsetLeft
		    obj = obj.offsetParent;
	    }
    }
    else if (obj.x)
	    curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
	    while (obj.offsetParent)
	    {
		    curtop += obj.offsetTop
		    obj = obj.offsetParent;
	    }
    }
    else if (obj.y)
	    curtop += obj.y;
    return curtop;
}

 

