﻿
//*******************PopUp***************/
function PopUp(url)
{
    window.open(url);
}
/*****************************************/
function ResizeImg(imgUrl, w, h, imgId)
{
    var res = "";
    var iw;
    var ih;
    imgs = new Image;
    imgs.src=imgUrl;
    iw=imgs.width;
    ih=imgs.height;
    if (iw > ih)
    {
        //document.getElementById(imgId).width = w;
        res = "<img id='"+ imgId +"' width='" + w + "' src='" + imgUrl + "'>";
    }
    else
    {
        res = "<img id='"+ imgId +"' height='" + h + "' src='" + imgUrl + "'>";
    }
    return res;
}
/*****************************************/
//*******************Resize picture**************************
function PropResizeImg(imgUrl, w, h, cmd,x)
{
    var res = "";
    var iw;
    var ih;
    imgs = new Image;
    imgs.src=imgUrl;
    iw=imgs.width;
    ih=imgs.height;
    if (iw > ih)
    {
      
        res = "<img  width='" + w + "'  src='" + imgUrl + "' "+cmd+">";
    }
    else
    {
        res = "<img  height='" + h + "'  src='" + imgUrl + "' "+cmd+">";
    }
    return res;
}
//***********************************************************
//Navigate
function GetPage(url)
{  
    try{window.location = url;}catch(e){}
    return false;
}
//Navigate

/***************************************/
//Validate url
function isValidURL(url){ 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
        return true; 
    }else{ 
        return false; 
    } 
} 
function isValidImgURL(txtid,lblid){ 
   var url= trimAll(document.getElementById(txtid).value);
    var RegExp = /^(ht)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?/; 
    if(RegExp.test(url)){ 
        document.getElementById(lblid).innerHTML='';
        return true; 
    }else{ 
        document.getElementById(lblid).innerHTML='Please enter valid image URL';
        return false; 
    } 
} 
/******************************************/
function ValidateTodayDate(strValue)
{
    var arrDate;
    if((strValue.indexOf("/") > 0) && (strValue.indexOf(".") <= -1) && (strValue.indexOf("-") <= -1))
    {
        arrDate = strValue.split('/');
    }
    else if((strValue.indexOf("/") <= -1) && (strValue.indexOf(".") > 0) && (strValue.indexOf("-") <= -1))
    {
        arrDate = strValue.split('.');
    }
    else if((strValue.indexOf("/") <= -1) && (strValue.indexOf(".") <= -1) && (strValue.indexOf("-") > 0))
    {
        arrDate = strValue.split('-');
    }
    var dateEnter = new Date();
    dateEnter.setFullYear(arrDate[2],arrDate[0] - 1,arrDate[1]);
    
    var today = new Date();
    if(dateEnter > today)
    {
        return true;
    }
    else
    {
        return false;
    }
    
}
/*****************************************/
//Validate date
function validateUSDate( strValue ) 
{
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid dates with 2 digit month, 2 digit day, 
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and 
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy 
*************************************************/
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
 
  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var arrayDate = strValue.split(RegExp.$1); //split date into month, day, year
	var intDay = parseInt(arrayDate[1],10); 
	var intYear = parseInt(arrayDate[2],10);
    var intMonth = parseInt(arrayDate[0],10);
	
	//check for valid month
	if(intMonth > 12 || intMonth < 1) {
		return false;
	}
	
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
  
    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }
		
    //check for February
	var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
    if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
      return true; //Feb. had valid number of days
  }
  return false; //any other values, bad date
}
/******************************************/
//Validates that United States zip code in 5 digit format or zip+4 format. 99999 or 99999-9999
function validateUSZip( strValue ) 
{
    var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
    return objRegExp.test(strValue);
}
/********************************************/
//Validate US format phone numbers, Ex. (999) 999-9999 or (999)999-9999
function validateUSPhone( strValue ) 
{
    var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
    return objRegExp.test(strValue);
}
/*****************************************/
//Validate numbers
function  validateNumeric( strValue ) 
{
    var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
    return objRegExp.test(strValue);
}
/****************************************/
//Method to validate email address
/*
function ValidEmail(email)
{
    var msg=true;    
    var x = email; 
 
    if(email.length==0){msg = false;}
    else
    {
       // if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x)){}
      if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(x)){}
     
        else{msg = false;}
    }
return msg;
}
*/
function ValidEmail(email)

{	
    var msg=true;    
    var x = email; 
 
    if(email.length==0){msg = false;}
    else
    {
	var regExpEmail = /^[a-z0-9]+([-+_.][a-z0-9]+)*@[a-z0-9]+([-.][a-z0-9]+)*\.[a-z0-9]+([-.][a-z0-9]+)*$/i;
	var resultEmail = regExpEmail.test(email);
	if(resultEmail){}
	 else
	 {
	 msg=false;
	 }
	
    }
   return msg;
}

function htmltoentity(userinput)
{
var formatted=userinput.replace(/(<)|(>)/g,
function(thematch){if (thematch=="<") return "&lt;"; else return "&gt;"})
return formatted;
}
function validNumericAlphabate(teststr)
{
    var msg = true;
    var flag = 0;
    var reSt = /^[a-zA-Z0-9. ]+$/
    var test = reSt.test(teststr);
    if(test == false){flag = 1;}
    else if(name.indexOf('..') > -1)
    {
        flag = 1;
    }
    if(flag == 1){msg = false;}
    return msg;
}
function ValidStringNumber(name)
{
 var flag=0;
 if(name.indexOf("<")>-1)
  {
  flag=1;
  }
 if(name.indexOf(">")>-1)
  {
  flag=1;
  }
  if(flag==1)
   {
   return false;
   }
   else
   {
   return true
   }
  /*  var msg = true;
    var flag = 0;
    var reSt = /^[a-zA-Z0-9. ]+$/
    var test = reSt.test(name);
    if(test == false){flag = 1;}
    else if(name.indexOf('..') > -1)
    {
        flag = 1;
    }
    if(flag == 1){msg = false;}
    return msg;*/
    
}

/*********************************************/
//String or name validation
function ValidString(name)
{
    var msg = true;
    var flag = 0;
    var reSt = /^[a-zA-Z. ]+$/
    var test = reSt.test(name);
    if(test == false){flag = 1;}
    else if(name.indexOf('..') > -1)
    {
        flag = 1;
    }
    if(flag == 1){msg = false;}
    return msg;
}
function ValidScreenName(name)
{
    var reSt = /^[\w ]+$/;
    var test = reSt.test(name);
    return test;
}
function ValidPassword_old(str)
{
    var reSt = /^[\w]+$/;
    var test = reSt.test(str);
    return test;
}
function ValidPassword(str)
{
   var msg=true;
   if(str.indexOf(" ")>-1)
   {
    msg=false;
   }
   return msg;
}
/********************************************/
//Remove blank spaces
function trimAll(sString) 
{
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
}
/**********************************************/
//Integer validation
function validateInteger( strValue ) 
{
    var objRegExp  = /(^\d\d*$)/;
    
  
    return objRegExp.test(strValue);
}
/**********************************************/
//This method returns the value of querystring
function queryStParent(ji) 
{      
    hu = window.parent.location.search.substring(1);
    var msg = "";
    if(hu == ""){msg = hu;}
    else(hu != "")
    {
        gy = hu.split("&");
        for (i=0;i<gy.length;i++) 
        {
            ft = gy[i].split("=");
            if (ft[0] == ji){msg = ft[1];}
        }
    }
    return msg;
}
/*******************************************/




function KeyDown()
    {
        // process only the Enter key        
        if (event.keyCode == 13)
        {
            event.returnValue=false;
            event.cancel = true;
            getSearchURL();
        }
    }
    
   ////===========format number===========================================
   function formatNumber(myNum, numOfDec) 
      { 
        var decimal = 1 
        for(i=1; i<=numOfDec;i++) 
        decimal = decimal *10 

        var myFormattedNum = (Math.round(myNum * decimal)/decimal).toFixed(numOfDec) 
        return(myFormattedNum) 
        } 
   //=====================================================================
   function cancelenterkey(event)
  {
  if (event.keyCode == 13)
        {
         
            event.returnValue=false;
            event.cancel = true;
            
        }

  }
  
  
//**************set max lenth for text area*************************
function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = "max. "+x[i].getAttribute('maxlength')+" characters - <span>"+x[i].getAttribute('maxlength')+"</span> characters left";//'<span>0</span>/'+x[i].getAttribute('maxlength')+" (Max. character:"+x[i].getAttribute('maxlength')+")";
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
            x[i].onkeypress=checklengthnew
			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (parseInt(currentLength) > parseInt(maxLength))
	   {
		this.relatedElement.className = 'toomuch';
	    checklengthonblur(this,maxLength);
	    currentLength=maxLength;
       }
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = parseInt(maxLength)-parseInt(currentLength);
	// not innerHTML
}
//**************Set maxlength  ***********
function checklength(txtbox,len)
 {
  // var text=document.getElementById(txtboxid).value
    return (txtbox.value.length < len);   
 }
//***********************************************

//**************Set maxlength on blur ***********
function checklengthonblur(txtbox,len)
 {
   if(txtbox.value.length > len)
    {
      var txttmp=txtbox.value;
      txttmp=txttmp.substring(0,len)
      txtbox.value=txttmp;

    }
    
 }
//***********************************************

//**************Set maxlength  ******************
function checklengthnew()
 {
   
    var maxlen=this.getAttribute('maxlength');
    return (this.value.length < parseInt(maxlen));   
 }
//******************************************************
//******************************************************
//***********Get Quesry String param********************
function GetQueryStrParam(ji) 
{   var hu=""; 
    hu = window.location.hash;
    hu=hu.replace('#','');
    if(hu.length<=0)
     {
      hu = window.location.search.substring(1);
      //hu=hu.replace('?','');
     }
    var msg = "";
    if(hu == ""){msg = hu;}
    else(hu != "")
    {
        gy = hu.split("&");
        for (i=0;i<gy.length;i++) 
        {
            ft = gy[i].split("=");
            if (ft[0] == ji){msg = ft[1];}
        }
    }
    return msg;
}
//******************************************************
function Checkforlogin(txtuser,txtpass)
 {
   if(trimAll(txtuser)=="" && trimAll(txtpass)=="")
   {
   return false;
   }
 }
 
 //=====================================================
 
 //=========Text box default text=======================
 function textboxtextonblur(id,txt)
    {
   
    var searchtxt=trimAll(document.getElementById(id).value);
        
      if(searchtxt=="")
      {
       document.getElementById(id).value=txt;
      }  
   
     } 
     
  function textboxtextonfocus(id,txt)
   {
    var searchtxt=trimAll(document.getElementById(id).value);
    if(searchtxt==txt)
     {
     document.getElementById(id).value="";
     }
    }
  //=========End Text box default text=======================
 function replaceAll(oldStr,findStr,repStr)
	{
		var srchNdx = 0;   
		var newStr = "";  
		while (oldStr.indexOf(findStr,srchNdx) != -1)                           
		{
			newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
			newStr += repStr;
			srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
		}
		newStr += oldStr.substring(srchNdx,oldStr.length);
		return newStr;
	}
function validZipUSCanada(zip)
{
 var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
 if (zip.match(objRegExp))
 {
 return true;
 }
zip=zip.toUpperCase();
if (zip.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)) {
return true;
}
if (zip.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)) {
return true;
}
return false;
}