
/*JavaScript Document*/



//This function is for email validation.
function echeck(vobj) 
{

		var str=vobj.value;
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)

		if(str!="")
		{
			if (str.indexOf(at)==-1){
			   alert("Invalid E-mail ID");
			   vobj.value="";
			   vobj.focus();
			   return false;
			}

			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			   alert("Invalid E-mail ID");
			   vobj.value="";
			   vobj.focus();
			   return false;
			}

			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
				alert("Invalid E-mail ID");
				vobj.value="";
			   vobj.focus();
				return false;
			}

			 if (str.indexOf(at,(lat+1))!=-1){
				alert("Invalid E-mail ID");
				vobj.value="";
			   vobj.focus();
				return false;
			 }

			 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
				alert("Invalid E-mail ID");
				vobj.value="";
			   vobj.focus();
				return false;
			 }

			 if (str.indexOf(dot,(lat+2))==-1){
				alert("Invalid E-mail ID");
				vobj.value="";
			   vobj.focus();
				return false;
			 }
			
			 if (str.indexOf(" ")!=-1){
				alert("Invalid E-mail ID");
				vobj.value="";
			   vobj.focus();
				return false;
			 }
		}
 		return true					
}

function stripSpaces(x) 
{
	while (x.substring(0,1) == ' ') x = x.substring(1);
    return x;
}

function empty(x)
{ 
	if (x.length > 0) return false; else return true; 
}

//Function Key validator
// onkeypress="ValidateMe(this,'Numbers',5,'#####');"
// onkeypress="ValidateMe(this,'Numbers',12,'###-###-####');"
// onkeypress="ValidateMe(this,'Text',0,'@*');"
// onKeyPress="ValidateMe(this,'Alpha','','');" //Char Only
// onKeyPress='ValidateMe(this,"Alpha","8","@@@@@-@@")' //Char Only
//onkeypress="ValidateMe(this,'AlphaNum',9,'##-#######');"  //Alpha Numeric
/*function validateMe(vctrl,vType,vLength,vFormat)
{
	vctrl.select();
	alert(event.keyCode);
	switch(vType)
	{
	case 'Text':
		if(vFormat=='@*')//All Starting with Alpha
		{
			if(vctrl.value.length==0)
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
				{
					if(event.keyCode>=97 && event.keyCode<=122)
					{
						event.keyCode=event.keyCode-32;
					}
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				var i=0;
				var vCode=0;
				
				vCode=vctrl.value.charCodeAt(0);
				while(vCode>=33 && vCode<=64)
				{
					vctrl.value=vctrl.value.substr(1,vctrl.value.length);
					vCode=vctrl.value.charCodeAt(0);
				}
				if(vctrl.value.length==0 && event.keyCode>=33 && event.keyCode<=64)
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			if (vctrl.value.length<vLength || vLength==0)
			{
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="#")//Number
				{
					if(event.keyCode >=48 && event.keyCode <=57)
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}

				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="@")//Alpha
				{
					if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#" && vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}
			else
			{
				event.returnValue=false;
			}
		}
		break;
		
	case 'AlphaNum':
		if (vctrl.value.length<vLength || vLength==0)
		{			
			if (vFormat!="")
			{
				alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="AlphaNum")
			{
				
					event.returnValue=true;
				
				
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
			
	case 'Numbers':
		if (vctrl.value.length<vLength || vLength==0)
		{
			if (vFormat!="")
			{
				alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="Numbers")
			{
				if(event.keyCode >=48 && event.keyCode <=57)
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
	case 'Decimal':
		if(vType=="Decimal")
		{
			if(event.keyCode >=46 && event.keyCode <=57 && event.keyCode!=47)
			{
				event.returnValue=true;
			}
			else
			{
				event.returnValue=false;
			}
			var str=vctrl.value;
			alert(str);
			var str=vctrl;
			var dot=".";
			if (str.indexOf(dot)=1)
			{
				event.returnValue=false;
			}
		}
		break;
	case 'Alpha':
		alert('In Alpha');
		if (vctrl.value.length<vLength || vLength==0)
		{
			if(vFormat=='@*')//All Starting with Alpha
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				alert(eventkeyCode);
				alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44) || (event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
	}
}*/


//Generic Msg display function.
function showMsg(smsg)
{
	var acnt=smsg.split(',');
	var msg="";
	var i=0;


	for(i=0;i<acnt.length-1;i++)
	{
		if ((acnt.length-3)==i)
		{
			msg=msg + acnt[i] + ' and ';
		}
		else
		{
			msg=msg + acnt[i] + ', ';
		}
	}
	msg=msg.substring(0,msg.length-2)


	alert('Invalid or missing information ' + msg + '.');
}


function lockKeys()
{
	event.keyCode=0;
}


function checkAlpha(txt)
{
	if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
	{
		event.returnValue=true;
	}
	else
	{
		event.returnValue=false;
	}
}


function checkNum(txt,dec)
{
	var count;
	count=0;

	if ( dec != "D")
	{

		if (event.keyCode>=48 && event.keyCode<=57) 
		{
			event.returnValue=true;
		}
		else
		{
			event.returnValue=false;
		}
	}
	else
	{

		if (event.keyCode>=48 && event.keyCode<=57 || event.keyCode==46) 
		{

			event.returnValue=true;
		}
		else
		{
			event.returnValue=false;
		}

	}

}


//Eg. onBlur="CheckFld(this,'zip');"
//Eg. onBlur="CheckFld(this,'Phone');
function checkField(ctrl,fld)
{
	var bFlag=false;
	if(ctrl.value!='')
	{
		if(fld.toLowerCase(fld)=='zip') //Zip
		{
			if(ctrl.value.length!=5 && ctrl.value.length!=10)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='phone')
		{
			if(ctrl.value.length!=12)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='fax')
		{
			if(ctrl.value.length!=12)
			{
				bFlag=true;
				ctrl.focus();
			}
		}

		if(fld.toLowerCase(fld)=='ssn')
		{
			if(ctrl.value.length!=11)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='work phone')
		{
			if(ctrl.value.length!=12)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='home phone')
		{
			if(ctrl.value.length!=12)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='cell phone')
		{
			if(ctrl.value.length!=12)
			{
				bFlag=true;
				ctrl.focus();
			}
		}
		if(fld.toLowerCase(fld)=='taxid')
		{
			if(ctrl.value.length!=9)
			{
				bFlag=true;
				ctrl.focus();
			}
		}

	}

	if(bFlag==true)
	{
		alert('Incomplete ' + "\"" + fld.toUpperCase (fld) + "\""+' information');
		ctrl.value='';
	}
	return true;
}


//Vadaliting With Tab
function validateMeTab(vctrl,vType,vLength,vFormat)
{
	//alert('Hi');
	if(vType=='Text') 
	{	

		if(vFormat=='@*')//All Starting with Alpha
		{
			if(vctrl.value.length==0)
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
				{
					if(event.keyCode>=97 && event.keyCode<=122)
					{
						event.keyCode=event.keyCode-32;
					}
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				var i=0;
				var vCode=0;
				
				vCode=vctrl.value.charCodeAt(0);
				while(vCode>=33 && vCode<=64)
				{
					vctrl.value=vctrl.value.substr(1,vctrl.value.length);
					vCode=vctrl.value.charCodeAt(0);
				}
				if(vctrl.value.length==0 && event.keyCode>=33 && event.keyCode<=64)
				{
					event.returnValue=false;
				}
			}
		}
		
	}
	else
	{
		if (vctrl.value.length<vLength-1 || vLength==0)
		{
			if (vFormat!="")
			{
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="Numbers")
			{
				if(event.keyCode >=48 && event.keyCode <=57)
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
	}
}


/*
Function Usages:-

1] onkeypress="checkNum(this.value,'D');"  - This will accept numeric data with maximum 2 decimal places.

2] onkeypress="checkNum(this.value);"  - This will accept only numeric data.
*/
function checkNum(txt,dec)
{
	var count;
	count=0;
	txtLen = txt.length;
	for(var k=0; k < txtLen; k++)
	{
		if ( txt.substr(k,1) == "." )
		{
			maxLen = k+2;
			if ( event.keyCode==46 )
			{
				event.keyCode=0;
				event.returnValue=false;
			}
			if ( txtLen > maxLen )
			{
				event.keyCode=0;
				event.returnValue=false;
			}
		}
	}
	if ( dec != "D")
	{
		if (event.keyCode>=48 && event.keyCode<=57) 
		{
			event.returnValue=true;
		}
		else
		{
			event.returnValue=false;
		}
	}
	else
	{
		if (event.keyCode>=48 && event.keyCode<=57 || event.keyCode==46) 
		{
			event.returnValue=true;
		}
		else
		{
			event.returnValue=false;
		}
	}
}


//Created by: Aneesh Kumar G  (April 2, 2004)
//Purpose: Validating Date of Birth
//Parameter: Object with date to check as its value (Both 'mm-dd-yyyy' and 'yyyy-mm-dd') 
function chkDOB(paramObj)
{
	var sysShowMsg=true; //Show Error Messages or Not
	dt = new Date();
	c_mm = parseInt(dt.getMonth()+1);
	c_yy = parseInt(dt.getFullYear());
	c_dd = parseInt(dt.getDate());
	var todays=c_mm+"-"+c_dd+"-"+c_yy;
	var errMsg= new Array();
	errMsg[0]="";
	errMsg[1]="Date of birth cannot be greater than "+todays+" !";
	errMsg[2]="Date of birth is not in a valid format!"; 
	var parYY,parMM,parDD;
	var errFound;
	var spl_Dt=paramObj.value.split('-');
	if(paramObj.value=='') return true;
	errFound=spl_Dt.length==3?0:2; 
	for(var cnt=0;cnt<spl_Dt.length&&errFound==0;cnt++)
	if(isNaN(spl_Dt[cnt])) errFound=2;
	spl_Dt[0].length==4?parYY=spl_Dt[0]:spl_Dt[0].length==2?parMM=spl_Dt[0]:errFound=2;
	if(spl_Dt[0].length==4) //Date in yyyy-mm-dd format
	{
		errFound==0?spl_Dt[1].length==2?parMM=spl_Dt[1]:errFound=2:errFound=errFound;
		errFound==0?spl_Dt[2].length==2?parDD=spl_Dt[2]:errFound=2:errFound=errFound;
	}else if(spl_Dt[0].length==2) //Date in mm-dd-yyyy format
	{
		errFound==0?spl_Dt[1].length==2?parDD=spl_Dt[1]:errFound=2:errFound=errFound;
		errFound==0?spl_Dt[2].length==4?parYY=spl_Dt[2]:errFound=2:errFound=errFound;
	}
	if(errFound==0)
	{
		if(parYY>c_yy) errFound=1;
		else if(parYY==c_yy)
		{
			if(c_mm<parMM) errFound=1;
			else if(parMM==c_mm)
			{
				if(parDD>c_dd) errFound=1;
			}
		}
	}
	// eliminated 'Else' intentionally
	if(errFound!=0) //Caught an error
	{
		if(sysShowMsg) alert(errMsg[errFound]);
		paramObj.value='';
		return false;
	}
	return true;
}

//Created By: Abhilash Pillai (May 28, 2004)
//Purpose: Trimming Functions
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)
{
	var newstr = RTrim(LTrim(str));
	return newstr;
}

function emptyValidate(frm,fld,name) 
{
	var condition = eval("document."+ frm +"."+ fld +".value");
	if(condition == "")
	{
		alert("Please enter "+name);
		eval("document." + frm +"."+ fld +".focus()");
		return false;
	}
	if(only_spaces(frm,fld))
	{
		alert("Please enter "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;	
	}
	return true;
}

function emptyValidateNomess(frm,fld,name) 
{
	var condition = eval("document."+ frm +"."+ fld +".value");
	if(condition == "")
	{
		//alert("Please enter "+name);
		//eval("document." + frm +"."+ fld +".focus()");
		return false;
	}
	if(only_spaces(frm,fld))
	{
		//alert("Please enter "+name);
		//eval("document." + frm +"."+ fld +".focus()");
		//eval("document." + frm +"."+ fld +".select()");
		return false;	
	}
	return true;
}

function onlySpaces(frm,fld)
{
	var valid=" ";		
	var ok="no";
	var condition = eval("document."+ frm +"."+ fld +".value");	 
	for (var i=0; i<condition.length; i++) {
	temp = "" + condition.substring(i, i+1);
	if (temp != valid)  ok="yes";
	}
	if (ok == "no") {
		return true;
		 }
	return false;
}

function chkPass(frm,fld1,fld2)
{
	var val = eval("document."+ frm +"."+ fld1 +".value");
	var val2 = eval("document."+ frm +"."+ fld2 +".value");
	if(val1 != val2)
	{
	alert( "Both Password are not same");
	eval("document." + frm +"."+ fld2 +".focus()");
	return false;
	}
	return true;
}
// This function will allow only Character & Number values to be entered in the field.

function charPassValidate(frm,fld,name) 
{

var valid = "abcdefghijklmnopqrstuvwxyz0123456789";
var ok = "yes";
var temp;
var condition = eval("document."+ frm +"."+ fld +".value");	 
condition=condition.toLowerCase();
//alert("Condition is "+condition);
	for (var i=0; i<condition.length; i++) 
		{
			temp = "" + condition.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
	if (ok == "no") 
		{
			alert("Please enter only characters or numbers into "+name);
			eval("document." + frm +"."+ fld +".focus()");
			eval("document." + frm +"."+ fld +".select()");
			return false;
 		}
	return true;
}

function validateDateForNotreqfields(frm,syear,smon,sday,name)
{
	var curr_date;
	curr_date=new Date();
	var day = eval("document."+ frm +"."+ sday +".value");
	var mon = eval("document."+ frm +"."+ smon +".value");
	var year = eval("document."+ frm +"."+ syear +".value");
   	if(day == "" && mon == "" && year == "")
	{
	return true;
	}
	else
	{
		if(year < 1900)
		{
			alert("Please enter valid Year!! It should not be greater than 1900 ");
			eval("document." + frm +"."+ syear +".focus()");
			eval("document." + frm +"."+ syear +".select()");
			return false;
		}
		enter_date=new Date(year,mon,day);
		//alert("dates are"+enter_date+" "+curr_date);	
		if(enter_date > curr_date)
		{
			  alert("Please enter Valid Date !!");
		  	  eval("document." + frm +"."+ sday +".focus()");
			  return false;
		}
	//alert("month is "+mon);
	if(mon == 4 || mon == 6 || mon == 9 || mon == 11)
    {
          if (day > 30)
          {
		  alert("Please enter Valid Date!!");
		  eval("document." + frm +"."+ smon +".focus()");
		  return false;
		 }
	}
	if(mon == 2)
	{
		var feb_day=28;
		if((year % 4 == 0))
		{
		feb_day=29;
		}
		if(day > feb_day)
		{
		  alert("Please enter Valid Date !!");
		  eval("document." + frm +"."+ day +".focus()");
		  return false;
		}
	}
	}
	return true;
}

function validateDate(frm,syear,smon,sday,name)
{
	var curr_date;
	curr_date=new Date();
	var day = eval("document."+ frm +"."+ sday +".value");
	var mon = eval("document."+ frm +"."+ smon +".value");
	var year = eval("document."+ frm +"."+ syear +".value");
   	
	if(year < 1900)
	{
		alert("Please enter valid Year!! It should not be greater than 1900 ");
		eval("document." + frm +"."+ syear +".focus()");
		eval("document." + frm +"."+ syear +".select()");
		return false;
	}
	var mon=eval(mon-1);
	
	enter_date=new Date(year,mon,day);
	//alert("dates are"+enter_date+" "+curr_date);	
	if(enter_date > curr_date)
	{
		  alert("Please enter Valid Date !!");
		  eval("document." + frm +"."+ sday +".focus()");
		  return false;
	}
	//alert("month is "+mon);
	var mon=eval(mon+1);
	if(mon == 4 || mon == 6 || mon == 9 || mon == 11)
        {
          if (day > 30)
          {
		  alert("Please enter Valid Date!!");
		  eval("document." + frm +"."+ smon +".focus()");
		  return false;
		 }
	}
	if(mon == 2)
	{
		var feb_day=28;
		if((year % 4 == 0))
		{
		feb_day=29;
		}
		if(day > feb_day)
		{
		  alert("Please enter Valid Date !!");
		  eval("document." + frm +"."+ day +".focus()");
		  return false;
		}
	}
	return true;
}

function validateDate1(frm,syear,smon,sday,name)
{
	var curr_date;
	curr_date=new Date();
	var day = eval("document."+ frm +"."+ sday +".value");
	var mon = eval("document."+ frm +"."+ smon +".value");
	var year = eval("document."+ frm +"."+ syear +".value");
   	
	if(year < 1900)
	{
		alert("The Year of birth cannot be less than 1900's.");
		eval("document." + frm +"."+ syear +".focus()");
		eval("document." + frm +"."+ syear +".select()");
		return false;
	}
	var mon=eval(mon-1);
	
	enter_date=new Date(year,mon,day);
	//alert("dates are"+enter_date+" "+curr_date);	
	if(enter_date > curr_date)
	{
		  alert("Please enter Valid Date !!");
		  eval("document." + frm +"."+ sday +".focus()");
		  return false;
	}
	//alert("month is "+mon);
	var mon=eval(mon+1);
	if(mon == 4 || mon == 6 || mon == 9 || mon == 11)
        {
          if (day > 30)
          {
		  alert("Please enter Valid Date!!");
		  eval("document." + frm +"."+ smon +".focus()");
		  return false;
		 }
	}
	if(mon == 2)
	{
		var feb_day=28;
		if((year % 4 == 0))
		{
		feb_day=29;
		}
		if(day > feb_day)
		{
		  alert("Please enter Valid Date !!");
		  eval("document." + frm +"."+ day +".focus()");
		  return false;
		}
	}
	return true;
}

function charValidateForName(frm,fld,name) 
{
var valid = "abcdefghijklmnopqrstuvwxy.z 0123456789_-";
var ok = "yes";
var temp;
var condition = eval("document."+ frm +"."+ fld +".value");	 
condition=condition.toLowerCase();
//alert("Condition is "+condition);
	for (var i=0; i<condition.length; i++) 
	{
		temp = "" + condition.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Please enter only characters into "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;
   }
return true;
}

function charValidateForCompanyName(frm,fld,name) 
{

var valid = "'&abcdefghijklmnopqrstuvwxy.z 0123456789_-\/";
var ok = "yes";
var temp;
var condition = eval("document."+ frm +"."+ fld +".value");	 
condition=condition.toLowerCase();
//alert("Condition is "+condition);
	for (var i=0; i<condition.length; i++) 
	{
		temp = "" + condition.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Please enter only characters into "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;
   }
	return true;
}


function charValidateForAddress(frm,fld,name) 
{

var valid = "()[]abcdefghijklmnopqrstuvwxy.z 0123456789_-";
var ok = "yes";
var temp;
var condition = eval("document."+ frm +"."+ fld +".value");	 
condition=condition.toLowerCase();
//alert("Condition is "+condition);
	for (var i=0; i<condition.length; i++) 
	{
		temp = "" + condition.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Please enter only characters into "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;
   	}
	return true;
}

function charValidate(frm,fld,name) 
{

var valid = "abcdefghijklmnopqrstuvwxy.z 0123456789_-";
var ok = "yes";
var temp;
var condition = eval("document."+ frm +"."+ fld +".value");	 
condition=condition.toLowerCase();
//alert("Condition is "+condition);
	for (var i=0; i<condition.length; i++) 
	{
		temp = "" + condition.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no")
	{
		alert("Please enter only characters into "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;
    }
	return true;
}


// This function will allow only Number values to be entered in the feild.
function emailValidate(frm,fld,name) {
	var condition = eval("document."+ frm +"."+ fld +".value")	  
	//alert("Your Email Address is :: "+condition); 
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
    if(condition != "" && email.test(condition) == false)
	{
		alert("Please enter valid Email address in to "+name);
		eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
		return false;
	}
return true;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}


function numberValidate(frm,fld,name) 
{
	var condition = eval("document."+ frm +"."+ fld +".value");	
	if (condition != "" && !allDigits(condition))
 		{
 			alert("Please enter only Numaric value into "+name);
			eval("document." + frm +"."+ fld +".focus()");	
			eval("document." + frm +"."+ fld +".select()");
			return false;
			//result = false;
		}
	

	return true;
}


// Check that input length falls with specified range (i.e. if password must be 7 to 20 chars)

	// Expects to receive the name or the identifier for a form object (id),
	// a string (name) with the label of the form field being verified,
	// and the minimum and maximum acceptable length.

	function checkLength(frm , fld , name , min , max) 
	{
		var condition = eval("document."+ frm +"."+ fld +".value");
	    if (eval(condition.length) < min) 
		{
	    	var msg = name + " must be at least " + min + " characters in length.\n";
			//var msg = "Please Enter valid " + name + "\n";
			alert(msg);
			eval("document." + frm +"."+ fld +".focus()");
			eval("document." + frm +"."+ fld +".select()");
			return false;
		    error = 1;
	  	}
	    if (eval(condition.length) > max) 
		{
	    	var msg = name + " must be less than " + max + " characters in length.\n";
			//var msg = "Please Enter valid " + name + "\n";
			alert(msg);
			eval("document." + frm +"."+ fld +".focus()");
			eval("document." + frm +"."+ fld +".select()");
			return false;
		    error = 1;
	  	}
		return true;
	}
	
// Check that input is a precise length

	// Expects to receive the name or the identifier for a form object (id),
	// a string (name) with the label of the form field being verified,
	// and the precise acceptable length (size).

	function checkPreciseLength(frm , fld , name , size) 
	{
		var condition = eval("document."+ frm +"."+ fld +".value");
 	    if (eval(condition.length) != size &&  (eval(condition.length) != 0)) 
	    {
    		var msg = name + " must be " + size + " characters in length.\n";
			alert(msg);
			eval("document." + frm +"."+ fld +".focus()");
			eval("document." + frm +"."+ fld +".select()");
			return false;
		    error = 1;
  	    }
		return true;
	}

// Check that two strings are identical (i.e. password and confirm password)

	// Expects to receive the name or the identifier for two objects (element1, element2),
	// and two strings (name1, name2) with the labels of the text boxes being verified.

	function compareValues(frm , fld1 ,fld2,name1,name2) 
	{
		if ( eval("document."+ frm +"."+ fld1 +".value") != eval("document."+ frm +"."+ fld2 +".value") ) 
		{
			var msg = name1 + " do not match with " + name2 + ".\n";
			alert(msg);
			eval("document." + frm +"."+ fld1 +".focus()");
			eval("document." + frm +"."+ fld1 +".select()");
			return false;
		    error = 1;
		}
		return true;
	}
	
function dateValidate(frm,day_fld,mon_fld,year_fld,name) 
{
 
var myDayStr = eval("document."+ frm +"."+ day_fld +".value");
var myMonthStr = eval("document."+ frm +"."+ mon_fld +".value");
var myYearStr = eval("document."+ frm +"."+ year_fld +".value");
var myDateStr = myDayStr + ' ' + myMonthStr + ' ' + myYearStr;

/* Using form values, create a new date object
which looks like "Wed Jan 1 00:00:00 EST 1975". */
var myDate = new Date( myDateStr );

// Convert the date to a string so we can parse it.
var myDate_string = myDate.toGMTString();

/* Split the string at every space and put the values into an array so,
using the previous example, the first element in the array is "Wed", the
second element is "Jan", the third element is "1", etc. */
var myDate_array = myDate_string.split( ' ' );

/* If we entered "Feb 31, 1975" in the form, the "new Date()" function
converts the value to "Mar 3, 1975". Therefore, we compare the month
in the array with the month we entered into the form. If they match,
then the date is valid, otherwise, the date is NOT valid. */
if ( myDate_array[2] != myMonthStr ) {
  alert(myDateStr + ' is NOT a valid date. Please enter valid date into '+ name);
} else {
  alert( 'Congratulations! "' + myDateStr + '" IS a valid date.' );
}
 
}
 

// Verify that an email address is valid

	// Expects the object identifier of a form field containing an email address.
	// Checks that there's exactly one @ symbol, and that it occurs before at least one dot.
	// Also makes sure that there's at least one letter after the last dot.
	// (An even better email validator is to use a back-end script to make sure
	// that the specified domain actually exists, such as with an nslookup.)
	
	function verifyEmail(frm,fld) 
	{
		var condition = eval("document."+ frm +"."+ fld +".value")	  
        //alert("value of email "+condition); 
		if(condition != "")
		{
			at=condition.indexOf('@')
			lastat=condition.lastIndexOf('@')
			dot=condition.indexOf('.')
			lastdot=condition.lastIndexOf('.')
			if ( !( (0 < at) && (at < (lastdot-1)) && (lastdot < (eval(condition.length)-1)) && (at == lastat) ) ) 
			{
				//error = 1;
				msg = "The email address format is invalid.\n";
				alert(msg)
				eval("document." + frm +"."+ fld +".focus()");
				eval("document." + frm +"."+ fld +".select()");
				return false;
			    error = 1;
		  	}
		}
		return true;
	}
	
	function isZipCode(frm,fld,fldname)     {
     //var objFormField = theForm.elements[strFieldName];
     //var strValue = objFormField.value;
	 var condition = eval("document."+ frm +"."+ fld +".value")	  
     if(condition != "")
	 {
	 var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
     if(!objRegExp.test(condition)){
          alert("Please enter valid Zip into "+fldname);
		  eval("document." + frm +"."+ fld +".focus()");
		eval("document." + frm +"."+ fld +".select()");
     //if(!focusField) focusField =""+ strFieldName +"";
          return false;
          }
	 }
     return true;
}
function isZipCode1(theForm,strFieldName,strMsg)     
{
     var objFormField = theForm.elements[strFieldName];
     var strValue = objFormField.value;
     var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
     if(!objRegExp.test(strValue)){
          strAlertMsg += "- "+ strMsg +" is Required.\n";
     if(!focusField) focusField =""+ strFieldName +"";
          return false;
          }
     return true;
}

function formatPhone(objFormField)
{
     intFieldLength = objFormField.value.length;
     if(intFieldLength == 3){
          objFormField.value = "(" + objFormField.value + ") ";
          return false;
          }
    if(intFieldLength >= 9 && intFieldLength <= 10){
        objFormField.value = objFormField.value + "-";
        return false;
        }
}

function isPhone1(theForm,strFieldName,strMsg)     
{
     var objFormField = theForm.elements[strFieldName];
     var strValue = objFormField.value;
     var objRegExp  = /^[1-9]\d{3}\-\s?\d{3}\-\d{4}$/;
      if(!objRegExp.test(strValue)){
          strAlertMsg += "- "+ strMsg +" is Required.\n    Example:\n999-999-9999 \n";
     if(!focusField) focusField=""+ strFieldName +"";
          return false;
          }
     return true;
}

function isPhone(frm,fld,fldname)     
{
     //var objFormField = theForm.elements[strFieldName];
     //var strValue = objFormField.value;
	 var condition = eval("document."+ frm +"."+ fld +".value");
	 if(condition != "")
	{
     var objRegExp  = /^[1-9]\d{2}\-\d{3}\-\d{4}$/;
      if(!objRegExp.test(condition)){
		  alert("Please enter valid Phone Number");
		  eval("document." + frm +"."+ fld +".focus()");
				eval("document." + frm +"."+ fld +".select()");
          //strAlertMsg += "- "+ strMsg +" is Required.\n    Example:\n999-999-9999 \n";
//     if(!focusField) focusField=""+ strFieldName +"";
          return false;
          }
	}
     return true;
}


/*****************************************

 Purpose: To Flush All the Element/Object Values in a Document

 Parameters: >>Param-1: [Array()] - Name of elements that are to be excluded -Optional

 *****************************************/

function flushDocumentObjs()

{

   var FDO_Exclude=flushDocumentObjs.arguments[0]?flushDocumentObjs.arguments[0]: new Array();

   for(var FDO_frmNav=0;FDO_frmNav<document.forms.length;FDO_frmNav++)

   {

     FDO_Hnd_objFrm=document.forms[FDO_frmNav];

	  for(var FDO_eleNav=0; FDO_eleNav < FDO_Hnd_objFrm.elements.length; FDO_eleNav++){

     FDO_valElement = FDO_Hnd_objFrm.elements[FDO_eleNav].value;

     if(FDO_valElement && (ArraySearch(FDO_Exclude,FDO_Hnd_objFrm.elements[FDO_eleNav].name)<0))

     FDO_Hnd_objFrm.elements[FDO_eleNav].value='';}

   }

}

/*****************************************

 Purpose: To Sort an Array in ASC/DESC order

 Arguments: Param 1: Array() - Array to Sort;

			Param 2: [String] - 'DESC'/'ASC' Sort Order ['ASC']  

 Return Value: Array() - Sorted Array  

 *****************************************/

function arraySort(paramArray)

{

  var ARRSRT_Array = paramArray; 

  var ARRSRT_Order =(ArraySort.arguments[1]=='DESC')?'DESC':'ASC';

  return ARRSRT_Order=='ASC'?ARRSRT_Array.sort(addOnArraySort_Asc):ARRSRT_Array.sort(addOnArraySort_Desc);

}/** ArraySort Function Add-On's **/

function addOnArraySortAsc(paramVal1, paramVal2){

  var tmpVal1 = (isNaN(paramVal1))?paramVal1.toLowerCase():paramVal1;

  var tmpVal2 = (isNaN(paramVal2))?paramVal2.toLowerCase():paramVal2;

  if (tmpVal1 > tmpVal2) return(1);

  if (tmpVal1 < tmpVal2) return(-1);

  return(0);} 
  
 function addOnArraySortDesc(paramVal1, paramVal2){

  var tmpVal1 = (isNaN(paramVal1))?paramVal1.toLowerCase():paramVal1;

  var tmpVal2 = (isNaN(paramVal1))?paramVal2.toLowerCase():paramVal2;

  if (tmpVal1 > tmpVal2) return(-1);

  if (tmpVal1 < tmpVal2) return(1);

  return(0);}



/*****************************************

 Purpose: To Search a Element in an Array

 Arguments: Param 1: Array() - Array HeyStack;

			Param 2: mixed - Needle to Search in Heystack;

			Param 3: [Boolean] - Case Sensitivity (CasiTive) [FALSE];

 Return Value: int 

            [Positive Integer, element position in Array (if element found)]

            [Negative Integer (-1), if element not found ]

 *****************************************/

function arraySearch()

{

  if(arraySearch.arguments.length<2) return alert(AS_SRCHERRCD[0]) + (-1);

  var AS_arrToSearch=arraySearch.arguments[0]; /** Array to Search **/

  var AS_eleToSearch=arraySearch.arguments[1]; /** Element to Search **/

  var CasiTive =(!arraySearch.arguments[2])?false:arraySearch.arguments[2];

  if(AS_arrToSearch.length&&!AS_arrToSearch[0]) return alert(AS_SRCHERRCD[1]) + (-1); 

  if(!AS_arrToSearch[0]) return -1;

  for(var AS_cntr=0;AS_cntr<AS_arrToSearch.length;AS_cntr++){

     if(!CasiTive){

	  AS_eleToSearch=AS_eleToSearch.toLowerCase();

	  AS_arrToSearch[AS_cntr]=AS_arrToSearch[AS_cntr].toLowerCase();} 

	  if(AS_arrToSearch[AS_cntr] == AS_eleToSearch) return AS_cntr;}

	 return -1;

}/** ArraySearch Function Add-ons **/

AS_SRCHERRCD=new Array();

AS_SRCHERRCD.push('Arguments Missing','Expected Array as First Parameter');

for(AS_cntrMod=0;AS_cntrMod<AS_SRCHERRCD.length;AS_cntrMod++)

AS_SRCHERRCD[AS_cntrMod]='Javascript Error (ArraySearch): '+AS_SRCHERRCD[AS_cntrMod]+'!';



/*****************************************

 Created By: Abhilash Pillai (May 13, 2005)

 Purpose: To get the X(left) or Y (top) axis for opening popups at the center of the Screen

 Arguments: Param 1: [Integer] (Mandatory) popupWidth - The Width of the POP-UP (to open);

			Param 2: [Integer] (Mandatory) popupHeight - The Height of the POP-UP (to open);

			Param 3: [String]  (Mandatory) case in-sensitive, Which Axis do you want...? [x(/top)/y(/left)] [Default: x];

 Return Value: [Positive Integer] - The Requested axis (Top/Left)

 Implementation: 

            window.open('...','...','left='+getCenterAxis('xxx','xxx','left')+',top='+getCenterAxis('xxx','xxx','top')+'....');

 *****************************************/

function getCenterAxis(popupWidth,popupHeight)

{

	var axWidth=parseInt(getCenterAxis.arguments[0]);

	var axHeight=parseInt(getCenterAxis.arguments[1]);

	if(!getCenterAxis.arguments[2]) getCenterAxis.arguments[2]='x';

	var axis=getCenterAxis.arguments[2].toLowerCase();

	if(axis=='x'||axis=='left') axis='x';

	else axis='y';

	if(axis=='x') return ((screen.width-axWidth)/2);

	else return ((screen.height-axHeight)/2);

}



/*****************************************

 Created By: Abhilash Pillai (May 18, 2005)

 Purpose: To Open a Pop-Up Window at the Center of Screen

 Arguments: Param 1: [STRING] (Mandatory)- Path of the URL to Open in POP-UP

			Param 2: [STRING] (Mandatory)- Name/Caption of the POP-UP

			Param 3: [STRING] (Mandatory)- Properties of the Pop-UP (HEIGHT and WIDTH are Mandatory)

			Param 4: [STRING] (Optional) - 'POPUP'/'WINDOW'; 'POPUP'-for a POP-UP and 'WINDOW' for a new Browser window

Implementation: 

            rcCenterPopUp('../somepage.php','sometitle','width=20,height=23,....');

*****************************************/

function rcCenterPopUp()

{

	if(rcCenterPopUp.arguments.length<3) {alert(rcPP_ERRCD[0]); return false;}

	var ppURL=trim(rcCenterPopUp.arguments[0]);

	var ppNM=trim(rcCenterPopUp.arguments[1])!=''?Trim(rcCenterPopUp.arguments[1]):'Untitled';

	var ppTmpProp=rcCenterPopUp.arguments[2];

	var ppWinType=rcCenterPopUp.arguments[3]?rcCenterPopUp.arguments[3]:'POPUP';

	ppWinType=ppWinType.toUpperCase();

	switch(ppWinType){

		case 'POPUP':break;

		case 'WINDOW':break;

		default:ppWinType='POPUP';break;

	}

	var ppArrTmp=ppTmpProp.split(',');

	var ppTemp, ppWIDTH='',ppHEIGHT='';

	for(var cntr=0;cntr<ppArrTmp.length;cntr++){

		ppTemp=ppArrTmp[cntr].split('=');

		if(ppTemp.length!=2){ delete ppArrTmp[cntr]; continue;}

		if(trim(ppTemp[0].toUpperCase())=='WIDTH') ppWIDTH=parseInt(ppTemp[1]);

		if(trim(ppTemp[0].toUpperCase())=='HEIGHT') ppHEIGHT=parseInt(ppTemp[1]);

	}

	if(ppHEIGHT==''){alert(rcPP_ERRCD[1]); return false;}

	if(ppWIDTH==''){alert(rcPP_ERRCD[2]); return false;}

	ppArrTmp.push('Left='+getCenterAxis(ppWIDTH,ppHEIGHT,'left'));

	ppArrTmp.push('Top='+getCenterAxis(ppWIDTH,ppHEIGHT,'top'));

	if(ppWinType=='WINDOW'){

		ppArrTmp.push('directories=yes');

		ppArrTmp.push('status=yes');

		ppArrTmp.push('menubar=yes');

		ppArrTmp.push('location=yes');		

		ppArrTmp.push('toolbar=yes');

		ppArrTmp.push('resizable=yes');

	}

	var ppProp=ppArrTmp.join(',');

	return window.open(ppURL,ppNM,ppProp);

}/** rcCenterPopUp Function Add-ons **/

rcPP_ERRCD=new Array();

rcPP_ERRCD.push('Argument(s) Missing','Height Property of Pop Up not defined');

rcPP_ERRCD.push('Width Property of Pop UP not defined');

for(var rcPP_cntrMod=0;rcPP_cntrMod<rcPP_ERRCD.length;rcPP_cntrMod++)

rcPP_ERRCD[rcPP_cntrMod]='Javascript Error (rcCenterPopUp): '+rcPP_ERRCD[rcPP_cntrMod]+'!';



/*****************************************

 # Function Group: Dreamweaver Functions

 *****************************************/

/*****************************************

 Purpose: To Reload the Browser Window (if User Agent is Navigator-4) when resizing window

 *****************************************/

function mmReloadPage(init) 

{  

 	if (init==true) with (navigator) {

  		if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

    		document.MM_pgW=innerWidth; 

			document.MM_pgH=innerHeight; 

			onresize=MM_reloadPage; 

		}

	} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

mmReloadPage(true);

function mmPreloadImages() 

{

	var d=document; 

	if(d.images)

	{ 

		if(!d.MM_p) 

		d.MM_p=new Array();

		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 

		for(i=0; i<a.length; i++)

		if (a[i].indexOf("#")!=0)

		{ 

			d.MM_p[j]=new Image; 

			d.MM_p[j++].src=a[i];

		}

	}

}

function mmSwapImgRestore() 

{

  var i,x,a=document.MM_sr; 

  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 

  x.src=x.oSrc;

}

function mmFindObj(n, d) 

{

	var p,i,x;  

	if(!d) 

	d=document; 

	if((p=n.indexOf("?"))>0&&parent.frames.length) 

	{

		d=parent.frames[n.substring(p+1)].document; 

		n=n.substring(0,p);

	}

	if(!(x=d[n])&&d.all) 

	x=d.all[n]; 

	for (i=0;!x&&i<d.forms.length;i++) 

	x=d.forms[i][n];

	for(i=0;!x&&d.layers&&i<d.layers.length;i++) 

	x=MM_findObj(n,d.layers[i].document);

	if(!x && d.getElementById) 

	x=d.getElementById(n); 

	return x;

}

function mmSwapImage() 

{

	var i,j=0,x,a=MM_swapImage.arguments; 

	document.MM_sr=new Array; 

	for(i=0;i<(a.length-2);i+=3){

		if ((x=MM_findObj(a[i]))!=null) {

			document.MM_sr[j++]=x; 

			if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];

		}

	}

}


function isNotInteger(str)
{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" )) return true;

	}

	return false;

}	//	isNotFloatingNumber(str)				

function isNotFloat(str)

{

	var OccuranceOfFloatingPoint;

	OccuranceOfFloatingPoint = 0;

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "." )) 

		{

			return true;

		}

		if(ch==".")

		{

			OccuranceOfFloatingPoint++;

			if(OccuranceOfFloatingPoint==2)

			return true;

		}

	}

	return false;

}	//	isNotFloat(str)

function isNotAlphaNumeric(str)
{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "." ) && ( ch != " " ) && (ch < "a" || ch > "z") && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	isNotAlphaNumeric(str)

function isNotPhoneNumber(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "-" )) 

		{

			return true;

		}

	}

}	//	isNotPhoneNumber(str)

function isNotAlphabets(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if(( ch != " " ) && (ch < "a" || ch > "z" ) && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	function isNotAlphabets(str)

function isNotName(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "a" || ch > "z" ) && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	function isNotAlphabets(str)





/* Purpose: Function to fill default values in text box */
function fillDefault(pObject)
{

	var Val2Fill=1;

	if(fillDefault.arguments[1]) Val2Fill = fillDefault.arguments[1];

	if(trim(pObject.value)=='') {pObject.value=Val2Fill; return;}

	if(isNotInteger(pObject.value)) {pObject.value=Val2Fill; return;}

	var val=parseInt(pObject.value);

	if(val==0) {pObject.value=Val2Fill; return;}

	return;

}


function fillDefaultSizedProducts(pObject)
{

	var Val2Fill=0;

	//if(FillDefault.arguments[1]) Val2Fill = FillDefault.arguments[1];

	//if(Trim(pObject.value)=='') {pObject.value=Val2Fill; return;}

	//if(isNotInteger(pObject.value)) {pObject.value=Val2Fill; return;}

	var val=parseInt(pObject.value);

	if(val==0) {pObject.value=Val2Fill; return;}

	return;
}


/* Purpose: Opens a Window and Display the Image */
function openWin(src) 

{

    var w = rcCenterPopUp('','VIEWIMAGE','height=400,width=270,scrollbars=0,resizable=1');

    with (w.document) 

	{

        open();

        writeln('<html><head><title>Enlarged Image</title></head>');

        writeln('<body bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0">');

		writeln('<table align="center" border="0" width="100%" height="100%">');

				writeln('<tr>');

					writeln('<td align="center">');

	        			writeln('<img src="' + src + '"><br />');

			        writeln('</td>');

				writeln('</tr>');

				writeln('<tr>');

					writeln('<td align="center">');

						writeln('<button onclick="window.close();">Close</button>');

					writeln('</td>');

				writeln('</tr>');

		writeln('</table>');

		writeln('</body></html>');

        close();

	}

}

function openWinBig(src) 
{

    var w = rcCenterPopUp('','VIEWIMAGE','height=680,width=500,scrollbars=0,resizable=1');

    with (w.document) 

	{

        open();

        writeln('<html><head><title>Enlarged Image</title></head>');

        writeln('<body bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0">');

		writeln('<table align="center" border="0" width="100%" height="100%">');

				writeln('<tr>');

					writeln('<td align="center">');

	        			writeln('<img src="' + src + '"><br />');

			        writeln('</td>');

				writeln('</tr>');

				writeln('<tr>');

					writeln('<td align="center">');

						writeln('<button onclick="window.close();">Close</button>');

					writeln('</td>');

				writeln('</tr>');

		writeln('</table>');

		writeln('</body></html>');

        close();

	}

}

function addToChartSizedProduct(strFRM,RecID,ProdDesign,AvailQty,ProdSizes,PType,ProductType)
{
	var hndFRM;
	var customer_order_details="";

	eval("hndFRM=document."+strFRM);
	var ArrayRECORD_IDS=RecID.split(",");
	var ArrayDESIGN_SIZES=ProdSizes.split(",");
	var ArrayAVALAIBLE_QTS=AvailQty.split(",");

	if(ProductType=='5')
	{
		for(var cntr=0; cntr<ArrayRECORD_IDS.length - 1; cntr++)
		{
				var GalMsg="Unable to process request.\n\n";
			
				GalMsg+='This is a Galery Product and currently we have only ';
			
				GalMsg+=ArrayAVALAIBLE_QTS[cntr]+" pieces in stock.\n You cannot order more than available Gallary Products.\n";
	
				var objQty;
	
				eval("objQty=document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]);
	
				var OrdQty=parseInt(objQty.value);
			
				if(objQty.value!="")
				{
	
						if(isNaN(OrdQty))
						{
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".focus()");
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".select()");
							
							alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
				
							return false;
				
						}
				
						customer_order_details = customer_order_details + objQty.value +  " pieces of size " + ArrayDESIGN_SIZES[cntr] + " " ;
				
						FillDefault_SIZEDPRODUCTS(objQty);
				
						AvailQty=parseInt(ArrayAVALAIBLE_QTS[cntr]) ;
				
						//alert(OrdQty);
						
						//alert(AvailQty);
						
						if(PType=='G' && OrdQty > AvailQty)
						{
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".focus()");
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".select()");
				
							alert(GalMsg);
							
							return false;
				
						}
				}
		}
	
		if(PType!='G') 
		{
			var ObjSplOrdSize;
	
			var ObjSplOrdQty;
	
			eval("ObjSplOrdSize=document."+strFRM+".txtSPECIAL_ORDER_SIZE");
	
			eval("ObjSplOrdQty=document."+strFRM+".txtSPECIAL_ORDER_QUANTITY");
			
			if(ObjSplOrdSize.value!="" && ObjSplOrdQty.value!="" )
			{
				eval("ObjSplOrdSize=parseInt(document."+strFRM+".txtSPECIAL_ORDER_SIZE.value)");
	
				eval("ObjSplOrdQty=parseInt(document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.value)");
	
				if(isNaN(ObjSplOrdSize))
				{
					eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.focus()");
	
					eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.select()");				
		
					alert("Invalid Size entered.  Please re enter quantity.\n\nThankyou!");
		
					return false;
				}
	
				if(isNaN(ObjSplOrdQty))
				{
			
					eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.focus()");
			
					eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.select()");		
				
					alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
	
					return false;
				}
	
				customer_order_details = customer_order_details + " [special order] " + ObjSplOrdQty + " pieces of size " + ObjSplOrdSize ;
			}
			else
			{
			
					if(ObjSplOrdSize.value!="" && ObjSplOrdQty.value=="" )
					{
						alert("You have not specified Quantity for Special Orders.\n\nPlease Enter Quantity & then proceed.\n\nThankyou!")
	
						eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.select()");
	
						return false;				
					}
					if(ObjSplOrdQty.value!="" && ObjSplOrdSize.value=="")
					{
						alert("You have not specified Size for Special Orders.\n\nPlease Enter Size & then proceed.\n\nThankyou!")
	
						eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.select()");
	
						return false;				
					}	
			}

		}

	}
	else if(ProductType=='4')
	{

			for(var cntr=0; cntr<ArrayRECORD_IDS.length - 1; cntr++)
			{
					var objQty;
		
					eval("objQty=document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]);
		
					var OrdQty=parseInt(objQty.value);
			
					if(objQty.value!="")
					{
		
							if(isNaN(OrdQty))
							{
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".focus()");
		
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".select()");
		
									alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
		
									return false;
				
							}
				
							customer_order_details = customer_order_details + objQty.value +  " pieces of size " + ArrayDESIGN_SIZES[cntr] + " " ;
				
							fillDefaultSizedProducts(objQty);
				
							AvailQty=parseInt(ArrayAVALAIBLE_QTS[cntr]) ;
				
							if(PType=='G' && OrdQty > AvailQty)
							{
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".focus()");
				
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".select()");
		
									var GalMsg="Unable to process request.\n\n";
		
									GalMsg+='This is a Galery Product and currently we have only ';
		
									GalMsg+=ArrayAVALAIBLE_QTS[cntr]+" pieces in stock.\n You cannot order more than available Gallary Products.\n";
		
									alert(GalMsg);
		
									return false;
							}
					}
			}
	}	
		
	if(customer_order_details.length==0)

	return;

	var conMsg="You are going to add "+ customer_order_details + " of Product (Product ID:"+ProdDesign+") to your cart.\n";

	conMsg+="Do you wish to continue?";

	
	if(confirm(conMsg)) 
	{
		
		hndFRM.action +="?PID=" + RecID + "&SIZES="+ProdSizes+"&ADDTOCART=YES&INS_TYPE=SIZED&PROD_TYPE="+ProductType ;

		hndFRM.submit();

	}

	return;


}


function addToChart(strFRM,RecID,ProdDesign,AvailQty,PType)
{

	var hndFRM;

	eval("hndFRM=document."+strFRM);

	var GalMsg="Unable to process request.\n\n";

	GalMsg+='This is a Gallary Product and currently we have only ';

	GalMsg+=AvailQty+" pieces in stock.\n You cannot order more than available Gallary Products.\n";

	var objQty;

	eval("objQty=document."+strFRM+".textQty_"+RecID);

	fillDefault(objQty);

	var OrdQty=parseInt(objQty.value);

	var conMsg="You are going to add "+OrdQty+" pieces of a Product (Product ID:"+ProdDesign+") to your cart.\n";

	conMsg+="Do you wish to continue?";

	if(PType=='G' && OrdQty > AvailQty){

		alert(GalMsg); return false;

	}

	if(confirm(conMsg)) {

		hndFRM.action +="?PID="+ RecID + "&ADDTOCART=YES";

		hndFRM.submit();

	}

}


function showProd(strFRM,RecID,OldMNU,ProdType)
{

	var hndFRM;

	eval("hndFRM=document."+strFRM);

	hndFRM.action ='products.php';

	hndFRM.action+='?SHOW_PROD='+RecID;

	hndFRM.action+='&MNU='+OldMNU;

	if(ProdType!="")
	{
		alert("Please select a size for this products.\n\nThankyou!");
	}
	
	hndFRM.submit();

	return true;

}

function payment(custid,amt,page,lgid,shipping,discount)
{
	var url="https://www.crystalearthstudio.info/development/pop_payment.php?custid="+custid+"&amountleft="+amt+"&page="+page+"&logid="+lgid+"&shipping="+shipping+"&discount="+discount;
	window.open(url,'pop_payments','width=600,height=500,resizable=no');
}

function openWindow(url,name)
{
	window.open(url,name,"width=800,height=640,resizable=yes,status=yes");
	return true;
}

//Function Key validator

// onkeypress="ValidateMe(this,'Numbers',5,'#####');"
// onkeypress="ValidateMe(this,'Numbers',12,'###-###-####');"
// onkeypress="ValidateMe(this,'Text',0,'@*');"
// onKeyPress="ValidateMe(this,'Alpha','','');" //Char Only
// onKeyPress='ValidateMe(this,"Alpha","8","@@@@@-@@")' //Char Only
//onkeypress="ValidateMe(this,'AlphaNum',9,'##-#######');"  //Alpha Numeric
function validateMe(vctrl,vType,vLength,vFormat)
{
	//vctrl.select();
//	alert(event.keyCode);
	switch(vType)
	{
	case 'Text':
		if(vFormat=='@*')//All Starting with Alpha
		{
			if(vctrl.value.length==0)
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
				{
					if(event.keyCode>=97 && event.keyCode<=122)
					{
						event.keyCode=event.keyCode-32;
					}
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				var i=0;
				var vCode=0;
				
				vCode=vctrl.value.charCodeAt(0);
				while(vCode>=33 && vCode<=64)
				{
					vctrl.value=vctrl.value.substr(1,vctrl.value.length);
					vCode=vctrl.value.charCodeAt(0);
				}
				if(vctrl.value.length==0 && event.keyCode>=33 && event.keyCode<=64)
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			if (vctrl.value.length<vLength || vLength==0)
			{
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="#")//Number
				{
					if(event.keyCode >=48 && event.keyCode <=57)
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}

				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="@")//Alpha
				{
					if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#" && vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}
			else
			{
				event.returnValue=false;
			}
		}
		break;
		
	case 'AlphaNum':
		if (vctrl.value.length<vLength || vLength==0)
		{			
			if (vFormat!="")
			{
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="AlphaNum")
			{
				
					event.returnValue=true;
				
				
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
			
	case 'Numbers':
		if (vctrl.value.length<vLength || vLength==0)
		{
			if (vFormat!="")
			{
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="Numbers")
			{
				if(event.keyCode >=48 && event.keyCode <=57)
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
	case 'Decimal':
		if(vType=="Decimal")
		{
			if(event.keyCode >=46 && event.keyCode <=57 && event.keyCode!=47)
			{
				event.returnValue=true;
			}
			else
			{
				event.returnValue=false;
			}
			//var str=vctrl.value;
			//alert(str);
			/*var str=vctrl;
			var dot=".";
			if (str.indexOf(dot)=1)
			{
				event.returnValue=false;
			}*/
		}
		break;
	case 'Alpha':
		//alert('In Alpha');
		if (vctrl.value.length<vLength || vLength==0)
		{
			if(vFormat=='@*')//All Starting with Alpha
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			if (vType=="Alpha")
			{
				//alert(eventkeyCode);
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
/*				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}*/
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44) || (event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
		
		case "keyskills": //alert("in Keyskills");
				if (vctrl.value.length<vLength || vLength==0)
				{
					if(vFormat=='@*')//All Starting with Alpha
					{
						if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32) || (event.keyCode >=48 && event.keyCode <=57) || (event.keyCode >=40 && event.keyCode <=41) || (event.keyCode ==42))
						{
						//	alert("accepted first");
							event.returnValue=true;
						}
						else
						{
							event.returnValue=false;
						}
					 }
					if (vType=="keyskills")
					{
						//alert(eventkeyCode);
						//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
/*						if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
						{
							vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
						}*/
						if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44) || (event.keyCode == 32) || (event.keyCode >=48 && event.keyCode <=57) || (event.keyCode >=40 && event.keyCode <=41) || (event.keyCode ==42))
						{
						//	alert("accepted second");
							event.returnValue=true;
						}
						else
						{
							event.returnValue=false;
						}
					}
				}
				else
				{
					event.returnValue=false;
				}
				break;		
	}
}

/*****************************************
# Purpose: Common Functions for Validation and General Purpose
****************************************/	

/*****************************************
 # Function Group: Trimming Functions

 # Purpose: Trimming Functions 
 *****************************************/

function LTrim(str)

{

	var WhiteSpace=new String(" \t\n\r");

	var str2Check=new String(str);

	if (WhiteSpace.indexOf(str2Check.charAt(0))!=-1) {

		var j=0,i=str2Check.length;

		while (j<i && WhiteSpace.indexOf(str2Check.charAt(j))!=-1) j++;

	    str2Check=str2Check.substring(j,i);

	} return str2Check;

}

function RTrim(str)

{

	var WhiteSpace=new String(" \t\n\r");

	var str2Check=new String(str);

	if (WhiteSpace.indexOf(str2Check.charAt(str2Check.length-1))!= -1) {

		var i=(str2Check.length-1);

		while(i>=0&&WhiteSpace.indexOf(str2Check.charAt(i))!=-1) i--;

		str2Check=str2Check.substring(0, i+1);

	} return str2Check;

}

function Trim(str)
{

	return RTrim(LTrim(str));

}



/*****************************************

 Purpose: To Flush All the Element/Object Values in a Document

 Parameters: >>Param-1: [Array()] - Name of elements that are to be excluded -Optional

 *****************************************/

function FlushDocumentObjs()
{

   var FDO_Exclude=FlushDocumentObjs.arguments[0]?FlushDocumentObjs.arguments[0]: new Array();

   for(var FDO_frmNav=0;FDO_frmNav<document.forms.length;FDO_frmNav++)

   {

     FDO_Hnd_objFrm=document.forms[FDO_frmNav];

	  for(var FDO_eleNav=0; FDO_eleNav < FDO_Hnd_objFrm.elements.length; FDO_eleNav++){

     FDO_valElement = FDO_Hnd_objFrm.elements[FDO_eleNav].value;

     if(FDO_valElement && (ArraySearch(FDO_Exclude,FDO_Hnd_objFrm.elements[FDO_eleNav].name)<0))

     FDO_Hnd_objFrm.elements[FDO_eleNav].value='';}

   }

}



/*****************************************

 Purpose: To Sort an Array in ASC/DESC order

 Arguments: Param 1: Array() - Array to Sort;

			Param 2: [String] - 'DESC'/'ASC' Sort Order ['ASC']  

 Return Value: Array() - Sorted Array  

 *****************************************/

function ArraySort(paramArray)
{

  var ARRSRT_Array = paramArray; 

  var ARRSRT_Order =(ArraySort.arguments[1]=='DESC')?'DESC':'ASC';

  return ARRSRT_Order=='ASC'?ARRSRT_Array.sort(addOnArraySort_Asc):ARRSRT_Array.sort(addOnArraySort_Desc);

}/** ArraySort Function Add-On's **/function addOnArraySort_Asc(paramVal1, paramVal2){

  var tmpVal1 = (isNaN(paramVal1))?paramVal1.toLowerCase():paramVal1;

  var tmpVal2 = (isNaN(paramVal2))?paramVal2.toLowerCase():paramVal2;

  if (tmpVal1 > tmpVal2) return(1);

  if (tmpVal1 < tmpVal2) return(-1);

  return(0);} function addOnArraySort_Desc(paramVal1, paramVal2){

  var tmpVal1 = (isNaN(paramVal1))?paramVal1.toLowerCase():paramVal1;

  var tmpVal2 = (isNaN(paramVal1))?paramVal2.toLowerCase():paramVal2;

  if (tmpVal1 > tmpVal2) return(-1);

  if (tmpVal1 < tmpVal2) return(1);

  return(0);}



/*****************************************
 Purpose: To Search a Element in an Array

 Arguments: Param 1: Array() - Array HeyStack;

			Param 2: mixed - Needle to Search in Heystack;

			Param 3: [Boolean] - Case Sensitivity (CasiTive) [FALSE];

 Return Value: int 

            [Positive Integer, element position in Array (if element found)]

            [Negative Integer (-1), if element not found ]

 *****************************************/

function ArraySearch()

{

  if(ArraySearch.arguments.length<2) return alert(AS_SRCHERRCD[0]) + (-1);

  var AS_arrToSearch=ArraySearch.arguments[0]; /** Array to Search **/

  var AS_eleToSearch=ArraySearch.arguments[1]; /** Element to Search **/

  var CasiTive =(!ArraySearch.arguments[2])?false:ArraySearch.arguments[2];

  if(AS_arrToSearch.length&&!AS_arrToSearch[0]) return alert(AS_SRCHERRCD[1]) + (-1); 

  if(!AS_arrToSearch[0]) return -1;

  for(var AS_cntr=0;AS_cntr<AS_arrToSearch.length;AS_cntr++){

     if(!CasiTive){

	  AS_eleToSearch=AS_eleToSearch.toLowerCase();

	  AS_arrToSearch[AS_cntr]=AS_arrToSearch[AS_cntr].toLowerCase();} 

	  if(AS_arrToSearch[AS_cntr] == AS_eleToSearch) return AS_cntr;}

	 return -1;

}/** ArraySearch Function Add-ons **/

AS_SRCHERRCD=new Array();

AS_SRCHERRCD.push('Arguments Missing','Expected Array as First Parameter');

for(AS_cntrMod=0;AS_cntrMod<AS_SRCHERRCD.length;AS_cntrMod++)

AS_SRCHERRCD[AS_cntrMod]='Javascript Error (ArraySearch): '+AS_SRCHERRCD[AS_cntrMod]+'!';



/*****************************************

 Created By: Abhilash Pillai (May 13, 2005)

 Purpose: To get the X(left) or Y (top) axis for opening popups at the center of the Screen

 Arguments: Param 1: [Integer] (Mandatory) popupWidth - The Width of the POP-UP (to open);

			Param 2: [Integer] (Mandatory) popupHeight - The Height of the POP-UP (to open);

			Param 3: [String]  (Mandatory) case in-sensitive, Which Axis do you want...? [x(/top)/y(/left)] [Default: x];

 Return Value: [Positive Integer] - The Requested axis (Top/Left)

 Implementation: 

            window.open('...','...','left='+getCenterAxis('xxx','xxx','left')+',top='+getCenterAxis('xxx','xxx','top')+'....');

 *****************************************/

function getCenterAxis(popupWidth,popupHeight)

{

	var axWidth=parseInt(getCenterAxis.arguments[0]);

	var axHeight=parseInt(getCenterAxis.arguments[1]);

	if(!getCenterAxis.arguments[2]) getCenterAxis.arguments[2]='x';

	var axis=getCenterAxis.arguments[2].toLowerCase();

	if(axis=='x'||axis=='left') axis='x';

	else axis='y';

	if(axis=='x') return ((screen.width-axWidth)/2);

	else return ((screen.height-axHeight)/2);

}



/*****************************************

 Created By: Abhilash Pillai (May 18, 2005)

 Purpose: To Open a Pop-Up Window at the Center of Screen

 Arguments: Param 1: [STRING] (Mandatory)- Path of the URL to Open in POP-UP

			Param 2: [STRING] (Mandatory)- Name/Caption of the POP-UP

			Param 3: [STRING] (Mandatory)- Properties of the Pop-UP (HEIGHT and WIDTH are Mandatory)

			Param 4: [STRING] (Optional) - 'POPUP'/'WINDOW'; 'POPUP'-for a POP-UP and 'WINDOW' for a new Browser window

Implementation: 

            rcCenterPopUp('../somepage.php','sometitle','width=20,height=23,....');

*****************************************/

function rcCenterPopUp()

{

	if(rcCenterPopUp.arguments.length<3) {alert(rcPP_ERRCD[0]); return false;}

	var ppURL=Trim(rcCenterPopUp.arguments[0]);

	var ppNM=Trim(rcCenterPopUp.arguments[1])!=''?Trim(rcCenterPopUp.arguments[1]):'Untitled';

	var ppTmpProp=rcCenterPopUp.arguments[2];

	var ppWinType=rcCenterPopUp.arguments[3]?rcCenterPopUp.arguments[3]:'POPUP';

	ppWinType=ppWinType.toUpperCase();

	switch(ppWinType){

		case 'POPUP':break;

		case 'WINDOW':break;

		default:ppWinType='POPUP';break;

	}

	var ppArrTmp=ppTmpProp.split(',');

	var ppTemp, ppWIDTH='',ppHEIGHT='';

	for(var cntr=0;cntr<ppArrTmp.length;cntr++){

		ppTemp=ppArrTmp[cntr].split('=');

		if(ppTemp.length!=2){ delete ppArrTmp[cntr]; continue;}

		if(Trim(ppTemp[0].toUpperCase())=='WIDTH') ppWIDTH=parseInt(ppTemp[1]);

		if(Trim(ppTemp[0].toUpperCase())=='HEIGHT') ppHEIGHT=parseInt(ppTemp[1]);

	}

	if(ppHEIGHT==''){alert(rcPP_ERRCD[1]); return false;}

	if(ppWIDTH==''){alert(rcPP_ERRCD[2]); return false;}

	ppArrTmp.push('Left='+getCenterAxis(ppWIDTH,ppHEIGHT,'left'));

	ppArrTmp.push('Top='+getCenterAxis(ppWIDTH,ppHEIGHT,'top'));

	if(ppWinType=='WINDOW'){

		ppArrTmp.push('directories=yes');

		ppArrTmp.push('status=yes');

		ppArrTmp.push('menubar=yes');

		ppArrTmp.push('location=yes');		

		ppArrTmp.push('toolbar=yes');

		ppArrTmp.push('resizable=yes');

	}

	var ppProp=ppArrTmp.join(',');

	return window.open(ppURL,ppNM,ppProp);

}/** rcCenterPopUp Function Add-ons **/

rcPP_ERRCD=new Array();

rcPP_ERRCD.push('Argument(s) Missing','Height Property of Pop Up not defined');

rcPP_ERRCD.push('Width Property of Pop UP not defined');

for(var rcPP_cntrMod=0;rcPP_cntrMod<rcPP_ERRCD.length;rcPP_cntrMod++)

rcPP_ERRCD[rcPP_cntrMod]='Javascript Error (rcCenterPopUp): '+rcPP_ERRCD[rcPP_cntrMod]+'!';



/*****************************************

 # Function Group: Dreamweaver Functions

 *****************************************/

/*****************************************

 Purpose: To Reload the Browser Window (if User Agent is Navigator-4) when resizing window

 *****************************************/

function MM_reloadPage(init) 

{  

 	if (init==true) with (navigator) {

  		if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

    		document.MM_pgW=innerWidth; 

			document.MM_pgH=innerHeight; 

			onresize=MM_reloadPage; 

		}

	} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

function MM_preloadImages() 

{

	var d=document; 

	if(d.images)

	{ 

		if(!d.MM_p) 

		d.MM_p=new Array();

		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 

		for(i=0; i<a.length; i++)

		if (a[i].indexOf("#")!=0)

		{ 

			d.MM_p[j]=new Image; 

			d.MM_p[j++].src=a[i];

		}

	}

}

function MM_swapImgRestore() 

{

  var i,x,a=document.MM_sr; 

  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 

  x.src=x.oSrc;

}

function MM_findObj(n, d) 

{

	var p,i,x;  

	if(!d) 

	d=document; 

	if((p=n.indexOf("?"))>0&&parent.frames.length) 

	{

		d=parent.frames[n.substring(p+1)].document; 

		n=n.substring(0,p);

	}

	if(!(x=d[n])&&d.all) 

	x=d.all[n]; 

	for (i=0;!x&&i<d.forms.length;i++) 

	x=d.forms[i][n];

	for(i=0;!x&&d.layers&&i<d.layers.length;i++) 

	x=MM_findObj(n,d.layers[i].document);

	if(!x && d.getElementById) 

	x=d.getElementById(n); 

	return x;

}

function MM_swapImage() 

{

	var i,j=0,x,a=MM_swapImage.arguments; 

	document.MM_sr=new Array; 

	for(i=0;i<(a.length-2);i+=3){

		if ((x=MM_findObj(a[i]))!=null) {

			document.MM_sr[j++]=x; 

			if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];

		}

	}

}


function isNotInteger(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" )) return true;

	}

	return false;

}	//	isNotFloatingNumber(str)				

function isNotFloat(str)

{

	var OccuranceOfFloatingPoint;

	OccuranceOfFloatingPoint = 0;

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "." )) 

		{

			return true;

		}

		if(ch==".")

		{

			OccuranceOfFloatingPoint++;

			if(OccuranceOfFloatingPoint==2)

			return true;

		}

	}

	return false;

}	//	isNotFloat(str)

function isNotAlphaNumeric(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "." ) && ( ch != " " ) && (ch < "a" || ch > "z") && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	isNotAlphaNumeric(str)

function isNotPhoneNumber(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "0" || ch > "9" ) && ( ch != "-" )) 

		{

			return true;

		}

	}

}	//	isNotPhoneNumber(str)

function isNotAlphabets(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if(( ch != " " ) && (ch < "a" || ch > "z" ) && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	function isNotAlphabets(str)

function isNotName(str)

{

	for (var i = 0; i < str.length; i++)

	{

		var ch = str.substring(i, i + 1);

		if((ch < "a" || ch > "z" ) && (ch < "A" || ch > "Z")) 

		{

			return true;

		}

	}

	return false;

}	//	function isNotAlphabets(str)





/* Purpose: Function to fill default values in text box */

function FillDefault(pObject)
{

	var Val2Fill=1;

	if(FillDefault.arguments[1]) Val2Fill = FillDefault.arguments[1];

	if(Trim(pObject.value)=='') {pObject.value=Val2Fill; return;}

	if(isNotInteger(pObject.value)) {pObject.value=Val2Fill; return;}

	var val=parseInt(pObject.value);

	if(val==0) {pObject.value=Val2Fill; return;}

	return;

}


function FillDefault_SIZEDPRODUCTS(pObject)
{

	var Val2Fill=0;

	//if(FillDefault.arguments[1]) Val2Fill = FillDefault.arguments[1];

	//if(Trim(pObject.value)=='') {pObject.value=Val2Fill; return;}

	//if(isNotInteger(pObject.value)) {pObject.value=Val2Fill; return;}

	var val=parseInt(pObject.value);

	if(val==0) {pObject.value=Val2Fill; return;}

	return;
}


/* Purpose: Opens a Window and Display the Image */

function openWin(src) 

{

    var w = rcCenterPopUp('','VIEWIMAGE','height=400,width=270,scrollbars=0,resizable=1');

    with (w.document) 

	{

        open();

        writeln('<html><head><title>Enlarged Image</title></head>');

        writeln('<body bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0">');

		writeln('<table align="center" border="0" width="100%" height="100%">');

				writeln('<tr>');

					writeln('<td align="center">');

	        			writeln('<img src="' + src + '"><br />');

			        writeln('</td>');

				writeln('</tr>');

				writeln('<tr>');

					writeln('<td align="center">');

						writeln('<button onclick="window.close();">Close</button>');

					writeln('</td>');

				writeln('</tr>');

		writeln('</table>');

		writeln('</body></html>');

        close();

	}

}
function openWinBig(src) 

{

    var w = rcCenterPopUp('','VIEWIMAGE','height=680,width=500,scrollbars=0,resizable=1');

    with (w.document) 

	{

        open();

        writeln('<html><head><title>Enlarged Image</title></head>');

        writeln('<body bottommargin="0" leftmargin="0" topmargin="0" rightmargin="0">');

		writeln('<table align="center" border="0" width="100%" height="100%">');

				writeln('<tr>');

					writeln('<td align="center">');

	        			writeln('<img src="' + src + '"><br />');

			        writeln('</td>');

				writeln('</tr>');

				writeln('<tr>');

					writeln('<td align="center">');

						writeln('<button onclick="window.close();">Close</button>');

					writeln('</td>');

				writeln('</tr>');

		writeln('</table>');

		writeln('</body></html>');

        close();

	}

}

function AddToChart_SizedProduct(strFRM,RecID,ProdDesign,AvailQty,ProdSizes,PType,ProductType)
{
	var hndFRM;
	var customer_order_details="";

	eval("hndFRM=document."+strFRM);
	var ArrayRECORD_IDS=RecID.split(",");
	var ArrayDESIGN_SIZES=ProdSizes.split(",");
	var ArrayAVALAIBLE_QTS=AvailQty.split(",");

	if(ProductType=='5')
	{
		for(var cntr=0; cntr<ArrayRECORD_IDS.length - 1; cntr++)
		{
				var GalMsg="Unable to process request.\n\n";
			
				GalMsg+='This is a Galery Product and currently we have only ';
			
				GalMsg+=ArrayAVALAIBLE_QTS[cntr]+" pieces in stock.\n You cannot order more than available Gallary Products.\n";
	
				var objQty;
	
				eval("objQty=document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]);
	
				var OrdQty=parseInt(objQty.value);
			
				if(objQty.value!="")
				{
	
						if(isNaN(OrdQty))
						{
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".focus()");
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".select()");
							
							alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
				
							return false;
				
						}
				
						customer_order_details = customer_order_details + objQty.value +  " pieces of size " + ArrayDESIGN_SIZES[cntr] + " " ;
				
						FillDefault_SIZEDPRODUCTS(objQty);
				
						AvailQty=parseInt(ArrayAVALAIBLE_QTS[cntr]) ;
				
						//alert(OrdQty);
						
						//alert(AvailQty);
						
						if(PType=='G' && OrdQty > AvailQty)
						{
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".focus()");
				
							eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+"_"+ArrayDESIGN_SIZES[cntr]+".select()");
				
							alert(GalMsg);
							
							return false;
				
						}
				}
		}
	
		if(PType!='G') 
		{
			var ObjSplOrdSize;
	
			var ObjSplOrdQty;
	
			eval("ObjSplOrdSize=document."+strFRM+".txtSPECIAL_ORDER_SIZE");
	
			eval("ObjSplOrdQty=document."+strFRM+".txtSPECIAL_ORDER_QUANTITY");
			
			if(ObjSplOrdSize.value!="" && ObjSplOrdQty.value!="" )
			{
				eval("ObjSplOrdSize=parseInt(document."+strFRM+".txtSPECIAL_ORDER_SIZE.value)");
	
				eval("ObjSplOrdQty=parseInt(document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.value)");
	
				if(isNaN(ObjSplOrdSize))
				{
					eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.focus()");
	
					eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.select()");				
		
					alert("Invalid Size entered.  Please re enter quantity.\n\nThankyou!");
		
					return false;
				}
	
				if(isNaN(ObjSplOrdQty))
				{
			
					eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.focus()");
			
					eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.select()");		
				
					alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
	
					return false;
				}
	
				customer_order_details = customer_order_details + " [special order] " + ObjSplOrdQty + " pieces of size " + ObjSplOrdSize ;
			}
			else
			{
			
					if(ObjSplOrdSize.value!="" && ObjSplOrdQty.value=="" )
					{
						alert("You have not specified Quantity for Special Orders.\n\nPlease Enter Quantity & then proceed.\n\nThankyou!")
	
						eval("document."+strFRM+".txtSPECIAL_ORDER_QUANTITY.select()");
	
						return false;				
					}
					if(ObjSplOrdQty.value!="" && ObjSplOrdSize.value=="")
					{
						alert("You have not specified Size for Special Orders.\n\nPlease Enter Size & then proceed.\n\nThankyou!")
	
						eval("document."+strFRM+".txtSPECIAL_ORDER_SIZE.select()");
	
						return false;				
					}	
			}

		}

	}
	else if(ProductType=='4')
	{

			for(var cntr=0; cntr<ArrayRECORD_IDS.length - 1; cntr++)
			{
					var objQty;
		
					eval("objQty=document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]);
		
					var OrdQty=parseInt(objQty.value);
			
					if(objQty.value!="")
					{
		
							if(isNaN(OrdQty))
							{
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".focus()");
		
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".select()");
		
									alert("Invalid Quantity entered.  Please re enter quantity.\n\nThankyou!");
		
									return false;
				
							}
				
							customer_order_details = customer_order_details + objQty.value +  " pieces of size " + ArrayDESIGN_SIZES[cntr] + " " ;
				
							FillDefault_SIZEDPRODUCTS(objQty);
				
							AvailQty=parseInt(ArrayAVALAIBLE_QTS[cntr]) ;
				
							if(PType=='G' && OrdQty > AvailQty)
							{
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".focus()");
				
									eval("document."+strFRM+".textQty_"+ArrayRECORD_IDS[cntr]+".select()");
		
									var GalMsg="Unable to process request.\n\n";
		
									GalMsg+='This is a Galery Product and currently we have only ';
		
									GalMsg+=ArrayAVALAIBLE_QTS[cntr]+" pieces in stock.\n You cannot order more than available Gallary Products.\n";
		
									alert(GalMsg);
		
									return false;
							}
					}
			}
	}	
		
	if(customer_order_details.length==0)

	return;

	var conMsg="You are going to add "+ customer_order_details + " of Product (Product ID:"+ProdDesign+") to your cart.\n";

	conMsg+="Do you wish to continue?";

	
	if(confirm(conMsg)) 
	{
		
		hndFRM.action +="?PID=" + RecID + "&SIZES="+ProdSizes+"&ADDTOCART=YES&INS_TYPE=SIZED&PROD_TYPE="+ProductType ;

		hndFRM.submit();

	}

	return;


}


function AddToChart(strFRM,RecID,ProdDesign,AvailQty,PType)

{

	var hndFRM;

	eval("hndFRM=document."+strFRM);

	var GalMsg="Unable to process request.\n\n";

	GalMsg+='This is a Gallary Product and currently we have only ';

	GalMsg+=AvailQty+" pieces in stock.\n You cannot order more than available Gallary Products.\n";

	var objQty;

	eval("objQty=document."+strFRM+".textQty_"+RecID);

	FillDefault(objQty);

	var OrdQty=parseInt(objQty.value);

	var conMsg="You are going to add "+OrdQty+" pieces of a Product (Product ID:"+ProdDesign+") to your cart.\n";

	conMsg+="Do you wish to continue?";

	if(PType=='G' && OrdQty > AvailQty){

		alert(GalMsg); return false;

	}

	if(confirm(conMsg)) {

		hndFRM.action +="?PID="+ RecID + "&ADDTOCART=YES";

		hndFRM.submit();

	}

}


function ShowProd(strFRM,RecID,OldMNU,ProdType)
{

	var hndFRM;

	eval("hndFRM=document."+strFRM);

	hndFRM.action ='products.php';

	hndFRM.action+='?SHOW_PROD='+RecID;

	hndFRM.action+='&MNU='+OldMNU;

	if(ProdType!="")
	{
		alert("Please select a size for this products.\n\nThankyou!");
	}
	
	hndFRM.submit();

	return true;

}
function payment(custid,amt,page,lgid,shipping,discount)
{
	var url="https://www.crystalearthstudio.info/development/pop_payment.php?custid="+custid+"&amountleft="+amt+"&page="+page+"&logid="+lgid+"&shipping="+shipping+"&discount="+discount;
	window.open(url,'pop_payments','width=600,height=500,resizable=no');
}

function openwindow(url,name)
{
	window.open(url,name,"width=800,height=640,resizable=yes,status=yes");
	return true;
}

//Function Key validator

// onkeypress="ValidateMe(this,'Numbers',5,'#####');"
// onkeypress="ValidateMe(this,'Numbers',12,'###-###-####');"
// onkeypress="ValidateMe(this,'Text',0,'@*');"
// onKeyPress="ValidateMe(this,'Alpha','','');" //Char Only
// onKeyPress='ValidateMe(this,"Alpha","8","@@@@@-@@")' //Char Only
//onkeypress="ValidateMe(this,'AlphaNum',9,'##-#######');"  //Alpha Numeric
function ValidateMe(vctrl,vType,vLength,vFormat)
{
	//vctrl.select();
	//alert(event.keyCode);
	switch(vType)
	{
	case 'Text':
		if(vFormat=='@*')//All Starting with Alpha
		{
			if(vctrl.value.length==0)
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
				{
					if(event.keyCode>=97 && event.keyCode<=122)
					{
						event.keyCode=event.keyCode-32;
					}
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				var i=0;
				var vCode=0;
				
				vCode=vctrl.value.charCodeAt(0);
				while(vCode>=33 && vCode<=64)
				{
					vctrl.value=vctrl.value.substr(1,vctrl.value.length);
					vCode=vctrl.value.charCodeAt(0);
				}
				if(vctrl.value.length==0 && event.keyCode>=33 && event.keyCode<=64)
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			if (vctrl.value.length<vLength || vLength==0)
			{
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="#")//Number
				{
					if(event.keyCode >=48 && event.keyCode <=57)
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}

				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)=="@")//Alpha
				{
					if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
					{
						event.returnValue=true;
					}
					else
					{
						event.returnValue=false;
					}
				}
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#" && vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}
			else
			{
				event.returnValue=false;
			}
		}
		break;
		
	case 'AlphaNum':
		if (vctrl.value.length<vLength || vLength==0)
		{			
			if (vFormat!="")
			{
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="AlphaNum")
			{
				
					event.returnValue=true;
				
				
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
			
	case 'Numbers':
		if (vctrl.value.length<vLength || vLength==0)
		{
			if (vFormat!="")
			{
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="#")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
			}

			if (vType=="Numbers")
			{
				if(event.keyCode >=48 && event.keyCode <=57)
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
	case 'Decimal':
		if(vType=="Decimal")
		{
			if(event.keyCode >=46 && event.keyCode <=57 && event.keyCode!=47)
			{
				event.returnValue=true;
			}
			else
			{
				event.returnValue=false;
			}
			//var str=vctrl.value;
			//alert(str);
			/*var str=vctrl;
			var dot=".";
			if (str.indexOf(dot)=1)
			{
				event.returnValue=false;
			}*/
		}
		break;
	case 'Alpha':
		//alert('In Alpha');
		if (vctrl.value.length<vLength || vLength==0)
		{
			if(vFormat=='@*')//All Starting with Alpha
			{
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44)||(event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
			else
			{
				//alert(eventkeyCode);
				//alert(vFormat.substring(vctrl.value.length,vctrl.value.length+1));
				if(vFormat.substring(vctrl.value.length,vctrl.value.length+1)!="@")
				{
					vctrl.value=vctrl.value + vFormat.substring(vctrl.value.length,vctrl.value.length+1)
				}
				if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122) || (event.keyCode == 44) || (event.keyCode == 32))
				{
					event.returnValue=true;
				}
				else
				{
					event.returnValue=false;
				}
			}
		}
		else
		{
			event.returnValue=false;
		}
		break;
	}
}
function trim(inputString) 
{

/*	Removes leading and trailing spaces from the passed string. Also removes
    consecutive spaces and replaces it with one space. If something besides
    a string is passed in (null, custom object, etc.) then return the input.*/
//   alert(vobj.value);
//   alert(inputString);
//   alert(inputString);
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;

  // Check for spaces at the beginning of the string
  
   var ch = retValue.substring(0, 1);

   while (ch == " ") 
   { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }

  // Check for spaces at the end of the string

   ch = retValue.substring(retValue.length-1, retValue.length);

   while (ch == " ") 
   { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
	
   return(retValue);
} // Ends the "trim" function

function trim_all(inputString) 
{

/*	Removes leading and trailing spaces from the passed string. Also removes
    consecutive spaces and replaces it with one space. If something besides
    a string is passed in (null, custom object, etc.) then return the input.*/
//   alert(vobj.value);
//   alert(inputString);
   
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;

  // Check for spaces at the beginning of the string
  
   var ch = retValue.substring(0, 1);

   while (ch == " ") 
   { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }

  // Check for spaces at the end of the string

   ch = retValue.substring(retValue.length-1, retValue.length);

   while (ch == " ") 
   { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }

   // Note that there are two spaces in the string - look for multiple spaces within the string
   while (retValue.indexOf("  ") != -1) 
   { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // 				Again, there are two spaces in each of the strings
   }
   return (retValue);
}

function indent_brackets(retValue)
{
	pos=retValue.indexOf("(");  //alert(pos);
	while(pos!=-1 && pos!=retValue.length-1)
	{
		temp1 = retValue.substr(0,pos);
		temp2 = retValue.substr(pos+1,retValue.length);
		retValue = temp1+" "+"("+" "+temp2;
		pos = retValue.indexOf("(",pos+2);//alert(pos);
	}

	pos=retValue.indexOf(")");  //alert(pos);
	while(pos!=-1 )
	{
		temp1 = retValue.substr(0,pos);//alert("First:"+temp1);
		temp2 = retValue.substr(pos+1,retValue.length);//alert("Second:"+temp2)
		retValue = temp1+" "+")"+" "+temp2;//alert("New String:"+retValue);
		pos=retValue.indexOf(")",pos+2);//alert(pos);
	}	
	
	return(retValue);

}

function put_spaces_after_comma(retValue)
{
	pos=retValue.indexOf(",");  //alert(pos);
	while(pos!=-1 && pos!=retValue.length-1)
	{
		temp1 = retValue.substr(0,pos+1);
		temp2 = retValue.substr(pos+1,retValue.length);
		retValue = temp1+" "+temp2;
		pos=retValue.indexOf(",",pos+1);//alert(pos);
	}

	return(retValue);

}

function remove_immediatecomma_after_brackets(retValue)
{
//	alert(retValue);
//	retValue=trim_all(retValue);
/*   while (ch == " ") 
   { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   while (retValue.indexOf("  ") != -1) 
   { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // 				Again, there are two spaces in each of the strings
   }*/
	
	pos = retValue.indexOf("(");  //alert("start pos: "+pos);
	char1 = retValue.charAt(pos+1);	//alert("start char: "+char);								
	while(pos!=-1)
	{
		if(char1==",")
		{
			while(char1==" " || char1==",")
			{				
				if(char1==",")
				{
					temp1 = retValue.substr(0,pos+1);// alert("first : "+temp1);
					temp2 = retValue.substr(pos+2,retValue.length);		//	alert("second : "+temp2);
					retValue = temp1+temp2;			//alert("general retvalue:  "+retValue);
					char1 = retValue.charAt(pos+1);//alert("general next character: " +char);
				}
				else
				{
					pos = pos+1;
					char1 = retValue.charAt(pos);//alert(char);
				}
			}
			pos = retValue.indexOf("(",pos+1);//alert(pos);	
			char1 = retValue.charAt(pos+1);		//alert(char);													  
		}
		else if(char1==" ")
		{
//			alert("space case");
			pos=pos+2;
			char1 = retValue.charAt(pos);//alert("space case start char:" +char);
			while(char1==" " || char1==",")
			{				
				if(char1==",")
				{
					temp1 = retValue.substr(0,pos); //alert("Space case first : "+temp1);
					temp2 = retValue.substr(pos+1,retValue.length);			//alert("Space case second : "+temp2);
					retValue = temp1 + temp2;			//alert("space case retvalue:"+retValue);
					char1 = retValue.charAt(pos);//alert("space case next char:" +char);					
				}
				else
				{
					pos = pos+1;
					char1 = retValue.charAt(pos);//alert(char);
				}
			}
			pos = retValue.indexOf("(",pos);//alert("space case ends, pos:"+pos);
			char1 = retValue.charAt(pos+1);//alert("space case ends, character:"+char);
		}
		else
		{
			pos = retValue.indexOf("(",pos+1);//alert(pos);
			char1 = retValue.charAt(pos+1);		//alert(char);																					
		}
	}
	
	pos = retValue.indexOf(")");//  alert(pos);
	char1 = retValue.charAt(pos-1);//	alert(char);								
	while(pos!=-1)
	{
		if(char1==",")
		{
			temp1 = retValue.substr(0,pos-1);// alert("first : "+temp1);
			temp2 = retValue.substr(pos,retValue.length);	//		alert("second : "+temp2);
			retValue = temp1+temp2;	//		alert(retValue);
			pos = retValue.indexOf(")",pos+1);//alert(pos);			
		}
		else
		{
			pos = retValue.indexOf(")",pos+1);//alert(pos);
			char1 = retValue.charAt(pos-1);		//alert(char);																					
		}
	}	

	return(retValue);
}

//this function is to check the entered date is less than 18 than
function dobcheck(obj){
	var time=new Date();
	var cur_year=time.getYear();
	var age=obj.value;
	values=age.split("/");
	var y=values[2];
	//alert(y);
	//alert(cur_year);
	if(y > (cur_year-18) ){ 
		alert("Age is less than 18 years");
		return false;
	}
	  return true;
}
//this function is to check the entered date is greater than current date
function dojcheck(obj){
	var time=new Date();
	var cur_year=time.getYear();
	var age=obj.value;
	values=age.split("-");
	var y=values[0];
	if(y > cur_year ){ 
		alert("Joined date is greater than current date");
		return false;
	}
	  return true;
}
//this function is to check the entered data contains only 1234567890-+() characters
function isPhoneNumber (obj) //Checks whether the phone number is numeric & allowable spec. char
{  
    var s=obj.value;
	var i;
	var bag="1234567890-+() "
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1){
		 alert("Invalid entry");
		 obj.focus();
		 return false;
		}
    }
    return true;
}