/*
# ********************************************
# Project : CWC-AZUSTAND
# Manager : GUK
# Author  : GVS
# Created : 050117
# Graphics: XXX
# Edits By: XXX, XXX, XXX
# Doc Role: contains all the functions which are 
# commonly used throughout the application
# ******************************************** 
*/

var rePattern = new RegExp("[;<>\.\{\}]");

function checkPattern(obj){	
 	if(rePattern.test(obj.value))	
	{
		alert("Please enter valid text.");
		obj.focus();
		return false;
	}
	return true;
}
 function checktextbox(box)
	{
		if(box.value=="Product Search")
		{
			box.value="";
		}
	}
	
function isURL(aStr){
		var urlVal = aStr.substr(0,7);
    
	
		if( aStr.length < 10)
			{
				return false;
			}
			
	     else if(urlVal!="http://")
    	 {
	     	 return false;
    	 } 
		 else
		 {
			 return true;
			}
	}

var reEmail=/^[0-9a-zA-Z_\.-]+\@[0-9a-zA-Z_\.-]+\.[0-9a-zA-Z_\.-]+$/
function checkEmail(val){
 	if(!reEmail.test(val))
	{
		return false;
	}
	return true;
}

function validatPassword(stPassword,stUsername)
{
	var r, re;
	//var s = stPassword;
	var re = new RegExp(stUsername,"ig");
  	var s=stPassword;
	r = s.match(re);
   	if(r==null)
  	{
 		return false;
  	}
  	else
  	{
		return true;
 	}
	//return(r);
}

function checkEmail1(obj){
 	if(!reEmail.test(obj.value))
	{
		alert("Please enter a valid email address.");
		obj.focus();
		return false;
	}
	return true;
}

function isEmpty(val)
{   
	for(var i=0;i<val.length;i++)
	{
		if(val.charAt(i) != ' ')
		{
			return false;
		}
	}
	return true;
}



function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else { 
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


/* Date format mm/dd/yyyy */
function checkDate(dt)
{
	var reg = new RegExp("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}");
	if(reg.test(dt))
	{
		var datepart = dt.split("/");
		
		for(i=0;i<datepart.length;i++)
			datepart[i] = parseInt(parseFloat(datepart[i]));


		if(datepart[1] < 1 || datepart[1] > 31 || datepart[0] < 1 || datepart[0] > 12)
		{
			return false;
		}
		else if((datepart[0] == 4 || datepart[0] == 6 || datepart[0] == 9 || datepart[0] == 11) && datepart[1] == 31)
		{
			return false;	
		}
		else if(datepart[0] == 2)
		{
			if(datepart[1] > 29)
				return false;
			if(!LeapYear(datepart[2]) && datepart[1] == 29)
				return false;
		}
		return true;						
	}
	return false;			
}
		
/*  
     Dates accepted in mm/dd/yyyy format
     Return Code          Condition
	 -------------------------------
	    -1              dt1 less than dt2
	     0              dt1 equal to dt2
  	     1     	        dt1 greater than dt2		        
*/

function compareDates(dt1,dt2)
{
	var datepart1 = dt1.split("/");
	var datepart2 = dt2.split("/");
		
	for(i=0;i<datepart1.length;i++)
	{
		datepart1[i] = parseInt(parseFloat(datepart1[i]));
		datepart2[i] = parseInt(parseFloat(datepart2[i]));		
	}	
	
	if(datepart1[2] > datepart2[2])
		return 1;
	else if(datepart1[2] < datepart2[2])	 
		return -1;
	else if(datepart2[2] == datepart1[2])	 	
	{
		if(datepart1[0] > datepart2[0])
			return 1;
		else if(datepart1[0] < datepart2[0])	
			return -1;
		else if(datepart1[0] == datepart2[0])					 
		{
			if(datepart1[1] > datepart2[1])
				return 1;
			else if(datepart1[1] < datepart2[1])	
				return -1;			
		}
	}
	return 0;	
}


function changeDateFormat(dt,from_format,to_format)
{
	var converted_date  = new Array(3);		
	var datepart        = dt.split("/");        
	var from_formatpart = from_format.split("/");
	var to_formatpart   = to_format.split("/");
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			if(to_formatpart[j] == from_formatpart[i])  	
			{
				converted_date[j] = datepart[i];  			
				break;
			}
		}
	}	
	return (converted_date[0]+"/"+converted_date[1]+"/"+converted_date[2]);	
}

function isNumeric(val){
	var reg = new RegExp("^[0-9]{1,}$");
	return reg.test(val);
}

function endsWith(str,list){
	var arr = list.split(",");	
	var len = str.length;
	var j;
	for(j=0;j<arr.length;j++){
		part_len = arr[j].length;
		if(str.lastIndexOf(arr[j]) + part_len == len){
			return true;
		}		
	}
	return false;
}

function validateEmail(email)
{
	if(email=="") return false;

	badstuff=";:/,'\"\\";

	for(i=0;i<badstuff.length;i++)
	{
		badcheck=badstuff.charAt(i);
		if(email.indexOf(badcheck,0)!=-1)
		return false;
	}//for

	posofAtsign=email.indexOf("@",1);
	if(posofAtsign==-1)
	return false;

	if(email.indexOf("@",posofAtsign+1) !=-1)
	return false;

	posofPeriod=email.indexOf(".",posofAtsign)
	if(posofPeriod==-1) return false;

	if(posofPeriod+2 > email.length)
	return false;

	return true;
}//validateEmail()

function isAlphaNumeric(val){
	//var vld_Alphanumeric = /^[a-zA-Z0-9. ]*$/
	var reg = new RegExp("^[a-zA-Z0-9]*$");
	return reg.test(val);
}

function isValidPassword(val){
	//var vld_Alphanumeric = /^[a-zA-Z0-9. ]*$/
	if(isAlpha(val))
	{
	return false;
	}
	if(isNumeric(val))
	{
	return false;
	}
	
	var reg = new RegExp("^[a-zA-Z0-9. ]*$");
	return reg.test(val);
}
function isAlpha(val){
	//var vld_Alphanumeric = /^[a-zA-Z0-9. ]*$/
	var reg = new RegExp("^[a-zA-Z]*$");
	return reg.test(val);
}
function isFloatNumeric(val){
	//var reg = new RegExp("^[0-9.]*$");
	var reg = new RegExp("/^([0-9]*(\.[0-9]*)?)?$/");
	return reg.test(val);
}

function format_number2(pnumber,decimals) 
{
  var strNumber = new String(pnumber);
  var arrParts = strNumber.split('.');
  var intWholePart = parseInt(arrParts[0],10);
  var strResult = '';
  if (isNaN(intWholePart))
    intWholePart = '0';
  if(arrParts.length > 1)
  {
    var decDecimalPart = new String(arrParts[1]);
    var i = 0;
    var intZeroCount = 0;
     while ( i < String(arrParts[1]).length )
     {
       if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       {
         intZeroCount += 1;
         i += 1;
       }
       else
         break;
    }
    decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
    Math.round(decDecimalPart); 
    decDecimalPart = parseInt(decDecimalPart)/10; 
    decDecimalPart = Math.round(decDecimalPart); 

    //If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
    //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

    if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    { 
      intWholePart+=1; 
      decDecimalPart="0"; 
    } 
    var stringOfZeros = new String('');
    i=0;
    if( decDecimalPart > 0 )
    {
      while( i < intZeroCount)
      {
        stringOfZeros += '0';
        i += 1;
      }
    }
    decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
    var dot = decDecimalPart.indexOf('.');
    if(dot == -1)
    {
      decDecimalPart += '.'; 
      dot = decDecimalPart.indexOf('.'); 
    } 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  else
  {
    var dot; 
    var decDecimalPart = new String(intWholePart); 

    decDecimalPart += '.'; 
    dot = decDecimalPart.indexOf('.'); 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  return strResult;
}

function selectDeselect(field, isCheck) {
		var boxes = document.getElementsByName(field);
		var boxes_checked = anyChecked();
	
		if(isCheck){
			if(document.getElementsByName(isCheck)[0].checked) setChecks(true);
			else setChecks(false);			
		}else{
			if(!boxes_checked) setChecks(true);
			else setChecks(false);
		}
	
		function setChecks( setting ) {
			for( var i=0; i < boxes.length; i++ ) {
				boxes[ i ].checked = setting;
			}
		}
		function anyChecked() {
			for( var i=0; i < boxes.length; i++ ) {
				if( boxes[i].checked == true) {
					return (true);
				} 
			}
			return (false);
		}
	}

	//to check wheather user have selected box or not
	function anyChecked() {
		for( var i=0; i < boxes.length; i++ ) {
			if( boxes[i].checked == true) {
				return (true);
			} 
		}
		return (false);
	}

	function isanyChecked(field) 
	{
		var boxes = document.getElementsByName(field);
		var mode = document.getElementsByName("mode");
	
		for( var i=0; i < boxes.length; i++ ) 
		{
			if( boxes[i].checked == true) 
			{
				varValue=mode[0].value;								
				switch(varValue)
				{
					case 'activate':
						varMsg = "Do you really wish to activate record(s)?"
					break;
					
					case 'deactivate':
						varMsg = "Do you really wish to de-activate record(s)?"
					break;
					case 'delete':
						varMsg = "Do you really wish to delete record(s)?"
					break;

					
					case 'activateuser':
						varMsg = "Do you really wish to activate record(s)?"
					break;
					
					case 'deactivateuser':
						varMsg = "Do you really wish to de-activate record(s)?"
					break;
					case 'delete':
						varMsg = "Do you really wish to delete record(s)?"
					break;
				}
				if(confirm(varMsg))
				{
					return (true);				
				}
				else
				{
					return false;
				}
			} 
		}
		alert("Select an item please.");
		return (false);
	}

	function popupWindow(url) 
	{
	  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=200,height=200,screenX=150,screenY=150,top=150,left=150')
	}

	function checkjs() 
	{
		var x = document.getElementsByTagName('div');		
		for (var i=0;i<x.length;i++)
		{
			if (x[i].className == 'nojs_menu')
			{
				x[i].style.display = 'none';
			}
		}
	}