/******************************************
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : JavaScript Common Function File
******************************************/


/******************************************
Function name : makeSameShipping
Return type : None
Date created : 12th October 2006
Date last modified : 12th October 2006
Author : Rupesh Parmar
Last modified by : Rupesh Parmar
Comments : Function will fill the same values in shipping detail fields whend check box is checked otherwise blank shipping detail fileds.
******************************************/

function makeSameShipping(formObj)
{
	if (formObj.frmSameShip.checked)
	 {
		 formObj.frmShipUserDetailStreetAddress.value= formObj.frmUserDetailStreetAddress.value
		 formObj.frmShipUserDetailCity.value= formObj.frmUserDetailCity.value
		 formObj.frmShipUserDetailState.value= formObj.frmUserDetailState.value
		 formObj.frmShipUserDetailCountry.value= formObj.frmUserDetailCountry.value
		 formObj.frmShipUserDetailZip.value= formObj.frmUserDetailZip.value
		 
	 }
	else
	{
		
		 formObj.frmShipUserDetailStreetAddress.value= '';
		 formObj.frmShipUserDetailCity.value= '';
		 formObj.frmShipUserDetailState.value= '';
		 formObj.frmShipUserDetailCountry.value= '';
		 formObj.frmShipUserDetailZip.value= '';
	}
}


/******************************************
Function name : toggleOption
Return type : None
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will toggle the select all checkbox option.
User instruction : toggleOption(spanChk)
******************************************/
function toggleOption(spanChk)
{
	var xState=spanChk.checked;
	var theBox=spanChk;

	elm=theBox.form.elements;
	for(i=0;i<elm.length;i++)
	{
		if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
		{
			if(xState == false)
				elm[i].checked = false;
			else
				elm[i].checked = true;
		}
	}
}

/******************************************
Function name : checkPhone
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will return the true or false according to phone field validation
User instruction : checkPhone(phone)
******************************************/
function checkPhone(phone)
{
	var phoneRequired = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
	if(!phoneRequired.test(phone))
		return false;
	return true;
}

/******************************************
Function name : checkEmail
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will return the true or false according to email field validation
User instruction : checkEmail(address)
******************************************/
function checkEmail(address)
{
	if ((address == "") || (address.indexOf ('@') == -1) || (address.indexOf ('.') == -1))
		return false;
	return true;
}

/******************************************
Function name : getMasterString
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will return the main string
User instruction : getMasterString()
******************************************/
function getMasterString()
{
	return "Sorry, we can not complete your request.\nKindly provide us the missing or incorrect information enclosed below.\n";
}

/******************************************
Function name : checkError
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will return the true or false acording to form validation
User instruction : checkError(error)
******************************************/
function checkError(error)
{
	var flag=false;
	var MasterString = getMasterString();
	
	if(error != "")
	{
		MasterString = MasterString + error;
		flag=true;
	}
	
	if(flag == true)
	{
		alert(MasterString);
		return false;
	}
	else
		return true;
}

/******************************************
Function name : askConfirm
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Rupesh Parmar
Comments : Function will return the true or false after asking for confirmation
User instruction : askConfirm(type)
******************************************/
function askConfirm(type)
{
	var sen = "Are you sure you want to  "+type+" this record?";
	if(confirm(sen))
		return true;
	else
		return false;
}

/******************************************
Function name : validator
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Rupesh Parmar
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/
var btnType;
function validator(btnType,formname)
{
	
	var obj = formname;
	var error="", flagCheck=0;
	
	var len = obj.elements.length; 
	var i=0;
	for(i=0;i<len;i++) 
	{
		if(obj.elements[i].type=='checkbox')
		{
			if(obj.elements[i].checked)
			{
				//if(btnType == 'Delete')
					return askConfirm(btnType);
				//else
					//return true;
			}
			else
				flagCheck = 1;
		}
	}
	
	if(flagCheck == 1)
		error += "\nPlease select at least one record.";
			
	return checkError(error);
}


/******************************************
Function name : sendNewsletter
Return type : boolean
Date created : 16th October 2006
Date last modified : 16th October 2006
Author : Rupesh Parmar
Last modified by : Rupesh Parmar
Comments : Function will return the true or error message after send newsletter 
User instruction : sendNewsletter()
******************************************/
function sendNewsletter()
{
	var obj = document.frmList, error = "";
	
	if(obj.option.value == "")
	{
		error += "\nPlease select an option.";
	}
	else if(obj.option.value == "selected")
	{	
	
			if(obj.frmTemplateID.value == "")
			{
				error += "\nPlease select a newsletter template.";
			}
			else
			{
				if(!validator('Send',obj)) return false; else return true
			}
	}
	else
	{
		if(obj.frmTemplateID.value == "")
		{
			error += "\nPlease select a newsletter template.";
		}
		else
		{
			var flag = askConfirm('send');
			if(flag) return true; else return false;
			
		}
	}
	
	if(error != "")
	{
		checkError(error);
		return false;
	}
	else
	{
		
		return true;
		
	}
}

//save image position javascript function below

function my_DragFunc()
{
	dd.elements.theCrop.maxoffr = dd.elements.theImage.w - dd.elements.theCrop.w;
	dd.elements.theCrop.maxoffb = dd.elements.theImage.h - dd.elements.theCrop.h;
	dd.elements.theCrop.maxw    = 395;
	dd.elements.theCrop.maxh    = 406;
}

function my_ResizeFunc()
{
	dd.elements.theCrop.maxw = (dd.elements.theImage.w + dd.elements.theImage.x) - dd.elements.theCrop.x;
	dd.elements.theCrop.maxh = (dd.elements.theImage.h + dd.elements.theImage.y) - dd.elements.theCrop.y;
}

function my_Submit()
{
	positionLeft = (dd.elements.theCrop.x - dd.elements.theImage.x);
	positionTop = (dd.elements.theCrop.y - dd.elements.theImage.y);
	cropWidth = dd.elements.theCrop.w;
	cropHeight = dd.elements.theCrop.h;
	//alert("positionLeft--"+positionLeft+" & positionTop--"+positionTop+" & cropWidth--"+cropWidth+" & cropHeight--"+cropHeight);
	document.frmImg.frmLeft.value = positionLeft;
	document.frmImg.frmTop.value = positionTop;
	document.frmImg.frmWidth.value = cropWidth;
	document.frmImg.frmHeight.value = cropHeight;
	
	
}

function setImageBoxPos()
{
	var height=0;
	if(navigator.appName == "Netscape")
		height = 70;
	if(navigator.appName == "Microsoft Internet Explorer")
		height = 40;
		
	SET_DHTML("theCrop"+MAXOFFLEFT+0+MAXOFFRIGHT+395+MAXOFFTOP+0+MAXOFFBOTTOM+406+RESIZABLE+MAXWIDTH+395+MAXHEIGHT+406+MINHEIGHT+25+MINWIDTH+25,"theImage"+NO_DRAG);

	dd.elements.theCrop.moveTo(dd.elements.theImage.x, dd.elements.theImage.y);
	dd.elements.theCrop.setZ(dd.elements.theImage.z+1);
	dd.elements.theImage.addChild("theCrop");
	dd.elements.theCrop.defx = dd.elements.theImage.x;
											
												
}
												

//////////////////////////////////////////All validation below this function/////////////////////////////////


/******************************************
Function name : validator
Return type : boolean
Date created : 21st September 2006
Date last modified : 21st September 2006
Author : Mohit Malik
Last modified by : Mohit Malik
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/

/*
'clientPassword', 'password','RisEqualconfpassword: confpassword'
'age','Age','RinRange10:30'
*/

function validateForm() 
{ 
	var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
	j=0;
	//	/^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)$/;
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	//var regAlphaNum = /^([a-zA-Z0-9-/_ :;#!@\n\r.,$*&%?^~`=+(){}\[\]\"\'\\]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_]+)$/;
	 var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/; 
  /* var regDate = /^([0-9_]{4}+-[0-9]{2}+-[0-9]{2}+)$/;*/
	
	//alert (validateForm.arguments[1].name);
	//alert("sss--->"+document.forms[""+args[0]].elements[""+args[0]].value);
	for (i=1; i<(args.length-2); i+=3) 
	{	
		mesg=args[i+1];
		test=args[i+2]; 
		val=document.forms[""+args[0]].elements[""+args[i]];
	
	    if (val) 
		{	nm=mesg; 
			noVal = val;
			val = val.value;
			//if ((val=val.value)!="") 
			if(regBlank.test(val))
			{
				if(test.indexOf('isEqual')!=-1)
				{
					result = trim(val);

				if(result.length==0){
										
				errors += '- '+nm+' is required.\n'; 
				}else{
					
					equal_obj_val = test.substring(8,test.indexOf(":"));
					mesg_string =test.substring((test.indexOf(":")+1));

					if(val != document.forms[""+args[0]].elements[""+equal_obj_val].value)
					{ 
						errors+='- '+nm+' must be same as '+mesg_string+'.\n';
					}
				}
				}
				else if(test.indexOf('isAlphaNum')!=-1)
				{
				result = trim(val);
				if(result.length==0){
				errors += '- '+nm+' is required.\n'; 
				}else{
					if(!regAlphaNum.test(val))
					{
						errors+='- '+nm+': Only Alpha Numeric and "_ , . - ! @ # () {} [] " coma,  single cots and Chars Allowed.\n';
					}
				}
				}
				else if (test.indexOf('isDate')!=-1) 
				{ 
					p=val.indexOf('-');
			       // alert(test.indexOf('isDate'));
			       	var sliptdate	= val.split("-");
					
					/*******************Added by rupesh Date is not before current date and month*********************/
					var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate(),TH=today.getHours();
					TM+=1;			
					if(TM<=9) 
					{	
						TM='0'+TM;
					}
					if(TD<=9)
					{
						TD='0'+TD;
					}
					/*******************Added by rupesh*********************/
					
					var sY=sliptdate[0];
					var sM=sliptdate[1];
					var sD=sliptdate[2];
					
					/*******************Added by rupesh*********************/
					if(sM<TM ) {
						
						errors+='- '+nm+' should be later than current date.\n';
					}
					else if(sM==TM && sD>TD) { 

						errors+='- '+nm+' should be later than current date.\n';
						
					}/*************************Added by rupesh********************/
					else if (p != 4 || sY.length != 4 || sM.length != 2 || sD.length != 2 )
					{
						errors+='- '+nm+' must contain Valid Date YYYY-MM-DD.\n';
		
					}
					else if(!regDate.test(val))
					{
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}
					else if(sM>12 || sD>31 || sY<2006)
					{
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}
			     }
				else if (test.indexOf('isEmail')!=-1) 
				{ 
					p=val.indexOf('@');
					s=val.indexOf('.');
			        if (p<1 || p==(val.length-1))
					{
						errors+='- '+nm+' must contain an e-mail Address.\n';
		
					}
					//else if(s<p || s==(val.length-1))
					else if(!regEmail.test(val))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\n';
					}
			     }
				else if (test.indexOf('isUrl')!=-1) 
				{ 
					p=val.indexOf('http://');
					s=val.indexOf('.');
			        if (p<0 || p==(val.length-1))
					{
						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';
		
					}
					else if(s<p || s==(val.length-1))
					{
						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';
					}
			     }
				 else if (test.indexOf('isChar')!=-1) 
				 { 
					var first_char;
					first_char= val.charAt(0);
					if(first_char==0||first_char==1||first_char==2||first_char==3||first_char==4||first_char==5||first_char==6||first_char==7||first_char==8||first_char==9)
					{
					 errors+='- '+nm+' must starts with  a char.\n';
					}
			     }
				 else if(test.indexOf('isCheckbox')!=-1)//Check is check box is not checked generate error
				{	
					var valueCheckbox = noVal.checked;
					if(!valueCheckbox)
					{
						errors+='- '+' Accept terms and Policy.\n';
					}

				}
	   			 else if (test!='R') 
				 {
				 result = trim(val);
					if(result.length==0){
					errors += '- '+nm+' is required.\n'; 
					}
				    if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
					if (test.indexOf('inRange') != -1) 
					{ num = parseFloat(val);
						p=test.indexOf(':');
						min=test.substring(8,p); 
						max=test.substring(p+1);
						
						
						if (num<min || max<num) 
						errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
					} 
					if (val.indexOf('-') != -1) 
					{ 
						errors='- '+nm+' must contain a number.\n';
					} 
					if (val.indexOf('+') != -1) 
					{ 
						errors='- '+nm+' must contain a number.\n';
					}
					
				}else if (test.charAt(0)=='R')
				{
				result = trim(val);
				if(result.length==0){
				errors += '- '+nm+' is required.\n'; 
				}
				} 
			}
			else if (test.charAt(0) == 'R'){
				errors += '- '+nm+' is required.\n'; 
			}
		}
		if(errors !="")
		{	if(j<=0)
			{
				
				focusitem = document.forms[""+args[0]].elements[""+args[i]];
				j++;
			}	
			
		}
	} 
	
//return errors;
  
  if (errors)
  {
	var MasterString = getMasterString();

	alert(MasterString+'\n'+errors);
	
	focusitem.focus();
	return false;
   }
   else
	return true;

//  document.MM_returnValue = (errors == '');
	
}

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.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      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; // Return the trimmed string back to the user
} // Ends the "trim" function

//CODE FOR RECURRENCE STUFF



//'orderRequestedDeliveredDate','Requested delivery date','isDate' 
function validUserForm(formname)
{
	if(validateForm(formname,'frmUserFirstName','First name' , 'R', 'frmUserLastName', 'Last name', 'R', 'frmUserEmail','Email' ,'RisEmail', 'frmUserPassword','Password','R', 'frmUserDetailCity','City','R', 'frmUserDetailState','State','R','frmUserDetailCountry','Country','R','frmUserDetailZip','Zip','RisNaN','frmShipUserDetailCity','Shipping city','R','frmShipUserDetailState','Shipping state','R','frmShipUserDetailCountry','Shipping country','R','frmShipUserDetailZip','Shipping zip','RisNaN'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}


function validCategoryForm(formname)
{
	if(validateForm(formname,'frmCategoryName','Category name' , 'R'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}


function validColorForm(formname)
{
	if(validateForm(formname,'frmColorName','Color name' , 'R' , 'frmColorCode','Color code', 'R'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}
function validGraphicForm(formname)
{
	if(validateForm(formname,'frmfkGraphicCategoryID','Category name' , 'R' , 'frmGraphicName','Clippart Name', 'R','frmGraphicImage','Clipart Image','R'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}

function validGraphicCategoryForm(formname)
{
	if(validateForm(formname,'frmGraphicCategoryName','Category name' , 'R'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}

function validProductForm(formname)
{
	if(validateForm(formname,'frmCategoryID','Category name' , 'R' , 'frmProductName','Product name', 'R', 'frmProductPrice' , 'Product Price' , 'R', 'frmCustomizedPrice' , 'Customized Price' , 'RisNaN' ,'frmProductCode' ,'Product Code','R','frmColorId[]' ,'Product Color','R','frmSizeId[]' ,'Product Size','R' ))
	{	
		
		return true;
		
	} else {
		return false;
		
	} 
	
}

//This function check file extensions
function checkImageExt(val)
{
var isOK = false;

var lent =  document.frmAddProductImage.elements.length;

with (val)
  { 
	for (var i = 0; i < lent ; i++)
    { 
	
      if ((document.frmAddProductImage.elements[i].type == "file") )
      { isOK = true;
	   	var imagePath = document.frmAddProductImage.elements[i].value;
		ext=imagePath;
		ext = ext.substring(ext.length-3,ext.length);
		ext = ext.toLowerCase();		
		//var imageExt = imagePath.split('.');	
		if(imagePath!='')
		  {
			if (ext == 'jpeg' || ext == 'gif' || ext == 'png' || ext == 'jpg' || ext == 'bmp' || ext == 'undefined')      
			{
			  isOK = true;
			 
			} 
			else
			{
				isOK = false;
			}
		
	   } }
	} 
 }
 
  if (!(isOK)) 
  { 
  	alert("Please select image!"); 
	return false; 
  }
}

/********************************************Site function **************************************/

function validSearch()
{
	var error="";
	if(document.frmSearch.frmSrchCatID.value=="")
	{
		if(document.frmSearch.frmSrchKey.value==0)
		{
		 error +="\n Please either select category or enter search keyword.";
		}	
	}
	
	
	if(error!='')
	{
		checkError(error);
		return false;
	}
}


//Check for registration 
function validRegistration(formname)
{
	if(validateForm(formname,'frmUserFirstName','First Name','R','frmUserLastName','Last Name','R','frmUserEmail','Email','RisEmail','frmUserPassword','Password','RisEqualfrmUserConfPassword:Confirm Password','frmUserIsAgreeTerm','terms' , 'RisCheckbox' ))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}
//Check contact form
function validContactForm(formname)
{
	//alert("rupesh");return false;
	if(validateForm(formname,'frmContactName','Name','R','frmContactEmail','E-mail','RisEmail'))
	{
		return true;
	} 
	else 
	{
		return false;
	
	} 

}
//Check login form
function validLoginFrm(formname)
{
	if(validateForm(formname,'frmUserName','User Name','RisEmail', 'frmUserPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}

function validUserFrm(formname)
{
	if(validateForm(formname,'frmUserFirstName','First name' , 'R', 'frmUserLastName', 'Last name', 'R', 'frmUserEmail','Email' ,'RisEmail', 'frmUserPassword','Password','R', 'frmUserDetailStreetAddress', 'Street address' , 'R', 'frmUserDetailCity','City','R', 'frmUserDetailState','State','R','frmUserDetailCountry', 'Country', 'R', 'frmUserDetailZip', 'Zip', 'RisNaN', 'frmShipUserDetailStreetAddress', 'Shipping Street address', 'R', 'frmShipUserDetailCity','Shipping city','R','frmShipUserDetailState','Shipping state','R','frmShipUserDetailCountry','Shipping country','R','frmShipUserDetailZip','Shipping zip','RisNaN', 'frmUserIsAgreeTerm','terms','RisCheckbox'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}

//Check password and confirm password

function validChangePass(formname)
{
	if(validateForm(formname,'frmUserOldPassword', 'Old password', 'R', 'frmUserPassword', 'New password', 'RisEqualfrmUserConfPassword:confirm password'))
	{	
		var flag=confirm('Are you sure you want to change password ?.')
		if(flag)
		return true;
		else
		return false;
	} 
	else 
	{
		return false;
	} 
	
}
////Check login form
function validLogin(formname)
{
	if(validateForm(formname,'frmUserName','Username','RisEmail', 'frmUserPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}
////Check subscriber email
function validSignupSub(formname)
{
	if(validateForm(formname,'frmSubscriberEmail','Email','RisEmail'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}

//Check image upload
function validImageUpload(formname)
{
	if(validateForm(formname,'frmClipArt','Category' , 'R', 'file', 'Image', 'R'))
	{
		return true;
		
	} else {

		return false;
		
	} 
	
}
/************************Shopping cart validation**********************************************************/

function confirmDelete(delID,formname) 
{

	var flagVal  = validator('Remove',formname);

	if (flagVal)
	{
		document.cartUpdateForm.action = "cart_update.php?del_kid="+delID;
		document.cartUpdateForm.submit();
	}
	else
	{
		return false;
	}
}

function validqyantity(val)
{	
	var isOK = true;
	var lent = document.cartUpdateForm.elements.length;
	with(val)
	  { 
		for (var i = 0; i < lent ; i++)
		{ 
		
		  if ((document.cartUpdateForm.elements[i].type == "text") )
		  { 
			if (document.cartUpdateForm.elements[i].value == 0 || isNaN(document.cartUpdateForm.elements[i].value) || document.cartUpdateForm.elements[i].value<1)      
			{ 
			  isOK = false;
			 
			} 
		   } 
		} 
	 }
	if(!(isOK))
	{	
		error ='\n Please enter valid quantity.';
		checkError(error);
		return false;
	}

	document.cartUpdateForm.action="cart_update.php?Submit="+val;
	document.cartUpdateForm.submit();
	return true;
}


function checkKeyIE()
{
	if (window.event.keyCode == 13) // checks whether the SHIFT key
	// is pressed
	{
	window.event.cancelBubble = true;
	window.event.returnValue = false;
	var updateBtn = document.getElementById("btnUpdate");
	updateBtn.click();
	
	}
}
function CheckKey()
{
	if(window.navigator.appName=='Microsoft Internet Explorer')
	{
		checkKeyIE();
	}
	else if(window.navigator.appName=='Netscape')
	{
		checkKeyMozilla(event);
	}
}	
function checkKeyMozilla(e)
{
	e = (window.event)? window.event : e;
	if (e.keyCode == 13) // checks whether the SHIFT key
	// is pressed
	{
	e.stopPropagation();
	e.preventDefault();
	var updateBtn = document.getElementById("btnUpdate");

	 updateBtn.click();
	}
	
}

/******************** Credit Card validation check ****************************************/

var d = new Date();
var curr_month = d.getMonth();
curr_month = curr_month+1;
var curr_year = d.getFullYear();

function testCreditCard() 
{
	  if (checkCreditCard (document.getElementById('frmUserCardNumber').value,document.getElementById('frmUserCardType').value)) 
	  {
		// var delCardInfo = document.frmUserCard.frmDelCard.checked; 
		 //if(document.frmUserCard.frmDelCard) 	
		return true;
	  } 
	  else 
	  {
			alert (ccErrors[ccErrorNo]);
			return false;
	  }
}
function chkCardDetails()
{
	var checkCard=testCreditCard();
	
	if(!(checkCard))
	{ 
		if(ccErrors[ccErrorNo]=='Unknown card type!')
		{
			document.frmUserCard.frmUserCardType.focus();
		}
		else
		{
			document.frmUserCard.frmUserCardNumber.focus();
		} return false; 
	}


	if(document.frmUserCard.frmCardExpiryYear.value==0)
	{
		alert( "Please select card expiry year!");
		document.frmUserCard.frmCardExpiryYear.focus();
		return false;
	} 
	if(document.frmUserCard.frmCardExpiryMonth.value=="")
	{
		alert( "Please select card expiry month!");
		document.frmUserCard.frmCardExpiryMonth.focus();
		return false;
	}
	
	if(document.frmUserCard.frmCardExpiryYear.value<curr_year)
	{
		alert( "Expire year can not be before current year!");
		document.frmUserCard.frmCardExpiryYear.focus();
		return false;
	}
	else if(document.frmUserCard.frmCardExpiryYear.value==curr_year)
	{
	 	if(document.frmUserCard.frmCardExpiryMonth.value<curr_month)
		{
		alert( "Expire month can not be before current month!");
		document.frmUserCard.frmCardExpiryMonth.focus();
		return false;
		}
	}
	
	if(document.frmUserCard.frmUserCardName.value==0)
	{
		alert("Please enter card owner name!");
		document.frmUserCard.frmUserCardName.focus();
		return false;
	}
	
	if(document.frmUserCard.frmUserCardSecCode.value==0)
	{
		alert("Please enter card security code!");
		document.frmUserCard.frmUserCardSecCode.focus();
		return false;
	}
	if(isNaN(document.frmUserCard.frmUserCardSecCode.value))
	{
		alert("Please enter numeric card security code!");
		document.frmUserCard.frmUserCardSecCode.focus();
		return false;
	}
	
	if(document.frmUserCard.frmUserCardSecCode.value.length>4 || document.frmUserCard.frmUserCardSecCode.value.length<3)
	{
		alert("Please enter 3-4 digit card security code!");
		document.frmUserCard.frmUserCardSecCode.focus();
		return false;
	}
	var regNum = /^([0-9]+)$/;
	if(!regNum.test(document.frmUserCard.frmUserCardSecCode.value))
	{
	alert("Please enter numeric card security code!");
	document.frmUserCard.frmUserCardSecCode.focus();
	return false;
	}
	var delCardInfo = document.frmUserCard.frmDelCard.checked; 
		 if(delCardInfo)
		 {
			var flag = askConfirm('remove'); 
			if(!(flag)) return false;
		 }
		 else
		 {
			var flag = askConfirm('save'); 
			if(!(flag)) return false;
		 }
		 return true;
	
}

function openInNewWindow(newWin,winTitle) 
{
	var newWindow = window.open(newWin, winTitle,'height=400 , width=500');
	if (newWindow) 
	{
		if (newWindow.focus) 
		{
		newWindow.focus();
		}
		return false;
	}
	return true;
}