
/** TO REMOVE BLACK SPACE FROM LEFT AND RIGHT */
function checkTrim(txtString) {
	txtString = lTrim(txtString);
	txtString = lTrim(txtString);
	return txtString;
}

/** RETURNS THE STRING AFTER DELETING THE TRAILING SPACES */
function lTrim(txtString) {
	ctr = 0;
	while( ctr < txtString.length && (txtString.substring(ctr,ctr+1) == " "))
	{
		ctr=ctr+1;
	}
	return txtString.substring(ctr);
}

/** RETURNS THE STRING AFTER DELETING THE LEADING SPACES */
function rTrim(txtString) {
	ctr = txtString.length;
	while( ctr > 0  && (txtString.substring(ctr,ctr-1) == " "))
	{
		ctr = ctr - 1;
	}
	return txtString.substring(0,ctr);
}

/** VALIDATION FOR FIELD WHICH SHOULD NOT BE EMPTY */

function isEmpty(objname) 
	{
	var str=checkTrim(objname.value);
	if(str.length==0)
	{
		return true;
	}
	return false;
}

// RETURNS TRUE IF IT IS A VALID PHONE NUMBER
function isValidPhoneNO(objname, msg)
{
	
	var str = objname.value;
  var checkOK = "0123456789-";
  var checkStr = checkTrim(str);
  var allValid = true;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (allValid)
      return (true);
  else
  alert(msg);
  	  return (false);
}

// RETURNS TRUE IF IT IS A VALID PHONE NUMBER
function isValidMobileNO(objname, msg)
{
	
	var str = objname.value;
  var checkOK = "0123456789+";
  var checkStr = checkTrim(str);
  var allValid = true;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (allValid)
      return (true);
  else
  alert(msg);
  	  return (false);
}

/* START FOR EMAIL VALIDATION FUNCTION */
function emailCheck(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
		 }
		return true					
	}

/* VALIDATION ON KEY PRESS EVENT */
function checkValid(val1,numVar) {
	if(numVar == 1)
	{
		valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ." ;
	}
	if(numVar == 2)
	 {
		   valid ="0123456789-+()";
	 }
	if(numVar == 3)
	 {
		  valid ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	 }
	
	// for password
	if(numVar == 4)
	 {
		  valid ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&.";
	 }
	// $,_,!,.,-
	if(numVar == 5)
	 {
		   valid ="0123456789, ";
	 }
	
	var ok = "yes";
	var temp;
	for (var i=0; i<val1.value.length; i++)
	  {
		temp = "" + val1.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
		  {
			ok = "no";	
		  }
	  }
	 
	 if (ok == "no") 
	 {
		if (val1.value.length==1)
		{ 
			val1.value=""
		}
		/*if wrong letter then clear the last one and retain the rest
		val1.value = val1.value.substr(0,(val1.value.length -1)) */
		val1.value=""
		val1.focus();
		val1.select();
	 }
}


/** FOR SELECT ALL DISPLAY TYPE */
function chkAll(src)
{
	var arrDisp = Array();
	if(src.checked==true)
	{
		for(i=0;i < document.frmcontract.displayChk.length;i++) 
		{
			document.frmcontract.displayChk[i].checked=true;
			arrDisp[i] = document.frmcontract.displayChk[i].value;
		}
	} 
	else 
	{
		for(i=0;i < document.frmcontract.displayChk.length;i++) 
		{
			document.frmcontract.displayChk[i].checked=false;
		}
	
	}
	document.frmcontract.displayType.value = arrDisp;
}

/** CHECK NUMERIC CHARACTER */ 
function chkNAN(char2chk)
{
	var validNum = "0123456789"; 
	if (validNum.indexOf(char2chk) == "-1")
	{
		alert("You have entered a non-numeric character.");
		return false;
	}
} 

/** DATE DIFFERENCE */
function dateDiff(date1, date2) 
{
	var startArray;
	var endArray;
	startArray=date1.split('-')
	endArray=date2.split('-')
	var startDate = new Date(startArray[0],startArray[1],startArray[2])
	var	endDate = new Date(endArray[0],endArray[1],endArray[2])
	var one_day=1000*60*60*24
    var totday = Math.ceil((endDate.getTime()-startDate.getTime())/(one_day));
	//  document.frmcontract.txtLong.value = totday;
	document.frmcontract.totdays.value = totday;
 }

/** TO CHECK FILE TYPE */
function checkFileType(objname,file_arr) 
{
 var imagePath = objname.value;
 var pathLength = imagePath.length;
 var lastDot = imagePath.lastIndexOf(".");
 var fileType = imagePath.substring(lastDot,pathLength); 
 
	for(var i=0;i<file_arr.length;i++)
	  {
		if((fileType == file_arr[i]))
		 {
		  return true;
		 } 	
	  }
	return false;
}


/** TO CHECK IMAGE TYPE */
function checkImageType(objname) 
{
 var imagePath = objname.value;
 var pathLength = imagePath.length;
 var lastDot = imagePath.lastIndexOf(".");
 var fileType = imagePath.substring(lastDot,pathLength);
 
	 if((fileType == ".gif") || (fileType == ".jpg") || (fileType == ".GIF") 
		|| (fileType == ".JPG") || (fileType == ".jpeg") || (fileType == ".JPEG")) 
	 {
	  return true;
	 } 
	 else 
	 {
		return false;
	 }
}

//VALIDATION FOR LENGTH OF THE FIELD
function isTooLong(fieldName,length)
{
	checkStr = checkTrim(fieldName.value);
	if((checkStr.length)<length)
	{
		return true; // true if the length exceeds
	}
	return false;
}

/* FOR CREATE COMMON AJAX XML OBJECT */
var xmlHttp;
  
function getXmlHttpObject()
{
	  try
    {
		/* Firefox, Opera 8.0+, Safari */
	xmlHttp=new XMLHttpRequest();
    }
   catch (e)
	{
		/* Internet Explorer */
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
		try
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e)
		{
			alert("Your browser does not support AJAX!");
			return false;
		}
		}
    }
  }

/**
 * function name: isValidUrl
 * created by - Rigelnetworks on 1/30/2009
 * last modified - 1/30/2009
 * purpose - to validate url
 * parameters - url - string
 * return type -Success - true
 * Fail - false
*/
function isValidUrl(url)
{
	var urlregex = new RegExp("^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([0-9A-Za-z]+\.)");
	if(urlregex.test(url.value))
	{
		return(true);
	}
		return(false); 
} // EO isValidUrl()

/**
 * function name: addOption() / deleteOption() / moveOptions()
 * created by - Rigelnetworks on 1/30/2009
 * last modified - 1/30/2009
 * purpose - to Add / Remove list from combo box
 * parameters - option value from both combo box
 * return type -Success - option value
 * Fail - false
*/
function addOption(theSel, theText, theValue)
{
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteOption(theSel, theIndex)
{ 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveOptions(theSelFrom, theSelTo)
{

  var selLength = theSelFrom.length;
  var selectedText = new Array();
  var selectedValues = new Array();
  var selectedCount = 0;
  var i;
  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount] = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      deleteOption(theSelFrom, i);
      selectedCount++;
    }
  }
  // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  for(i=selectedCount-1; i>=0; i--)
  {
    addOption(theSelTo, selectedText[i], selectedValues[i]);
  }
  if(NS4) history.go(0);
}
// EO functionality add / memove from dropdown list

//-->
//! Function to select / deselect all checkbox
function toggleSelect(obj,obj_total,action)
{
    var obj_name = obj;
    var s_length = obj.length;
    var checked = '';
    if(action == 'all')
            {
                checked = true;
			 }
    else
            {
                checked = false;
            }
	 if(obj_total.value == 1)
			{
			     obj_name.checked = checked;
			}
    else
            {
			   for(var i=0;i<s_length;i++)
				{
					obj_name[i].checked = checked;
				}
			}
}

function doValidate(contactusfrm){
	var contactnamediv=document.getElementById('divcontactname');
	var emaildiv=document.getElementById('divemail');
	
	contactnamediv.innerHTML='';
	emaildiv.innerHTML='';	
	
	if(contactusfrm.contactname.value=='')
	{	
		contactnamediv.innerHTML='Name is required.';
		contactusfrm.contactname.focus();
		return false;
	}

	
	if(contactusfrm.email.value=='')
	{
		emaildiv.innerHTML='Email is required.';
		contactusfrm.email.focus();
		return false;
	}
	if(contactusfrm.email.value!='')
	{
		var check = emailCheck(contactusfrm.email.value);
		if(check==false)
		{			
			emaildiv.innerHTML='Invalid Email Address.';
			contactusfrm.email.focus();
			return false;
		}
		
	}
	return true;	
}

function emailCheck(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
	 }
	return true					
}
