function  validateString( strValue ) {
 var objRegExp  =  /(^[a-zA-Z]+$)/; 
  return objRegExp.test(strValue);
}
function  validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.

PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
 
  //check for numeric characters 
  return objRegExp.test(strValue);
}

function validateInteger( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid integer number.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  = /(^-?\d\d*$)/;
 
  //check for integer characters
  return objRegExp.test(strValue);
}

function validateNotEmpty( strValue ) {
/************************************************
DESCRIPTION: Validates that a string is not all
  blank (whitespace) characters.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
   var strTemp = strValue;
   strTemp = trimAll(strTemp);
   if(strTemp.length > 0){
     return true;
   }  
   return false;
}

function validateEmail( strValue) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid email pattern. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS: Accounts for email with country appended
  does not validate that email contains valid URL
  type (.com, .gov, etc.) and optionally,
  a valid country suffix.  Since email has many
  forms this expression only tests for near valid
  address.  Some additional validation may be
  required.
*************************************************/
var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
  //check for valid email
  return objRegExp.test(strValue);
}

function rightTrim( strValue ) {
/************************************************
DESCRIPTION: Trims trailing whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed.  
      
RETURNS:
   Source string with right whitespaces removed.
*************************************************/
var objRegExp = /^([\w\W]*)(\b\s*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove trailing a whitespace characters
       strValue = strValue.replace(objRegExp, '$1');
    }
  return strValue;
}

function leftTrim( strValue ) {
/************************************************
DESCRIPTION: Trims leading whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed
   
RETURNS:
   Source string with left whitespaces removed.
*************************************************/
var objRegExp = /^(\s*)(\b[\w\W]*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove leading a whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function trimAll( strValue ) {
/************************************************
DESCRIPTION: Removes leading and trailing spaces.

PARAMETERS: Source string from which spaces will
  be removed;

RETURNS: Source string with whitespaces removed.
*************************************************/ 
 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }
    
   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function validateCurrency( strValue)  {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid currency format. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp = /(^\$\d{1,3}(,\d{3})*\.\d{2}$)|(^\(\$\d{1,3}(,\d{3})*\.\d{2}\)$)/;

  return objRegExp.test( strValue );
}

function validateTime ( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid 12 hour time format. Seconds are optional.
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

REMARKS: Returns True for time formats such as:
  HH:MM or HH:MM:SS or HH:MM:SS.mmm (where the
  .mmm is milliseconds as used in SQL Server 
  datetime datatype.  Also, the .mmm portion will 
  accept 1 to 3 digits after the period)
*************************************************/
  var objRegExp = /^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;

  return objRegExp.test( strValue );

}

function validateState (strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid state abbreviation. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/

var objRegExp = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i; 
  return objRegExp.test(strValue);
}

function validateSSN( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid social security number. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp  = /^\d{3}\-\d{2}\-\d{4}$/;
 
  //check for valid SSN
  return objRegExp.test(strValue);

}



function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
  US phone pattern. 
  Ex. (999) 999-9999 or (999)999-9999
  
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
 
  //check for valid us phone with or without space between 
  //area code
  return objRegExp.test(strValue); 
}


function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
  States zip code in 5 digit format or zip+4
  format. 99999 or 99999-9999
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
 
  //check for valid US Zipcode
  return objRegExp.test(strValue);
}

function replace(argvalue, x, y) {

  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    errmessage = "replace function error: \n";
    errmessage += "Second argument and third argument could be the same ";
    errmessage += "or third argument contains second argument.\n";
    errmessage += "This will create an infinite loop as it's replaced globally.";
    alert(errmessage);
    return false;
  }
    
  while (argvalue.indexOf(x) != -1) {
    var leading = argvalue.substring(0, argvalue.indexOf(x));
    var trailing = argvalue.substring(argvalue.indexOf(x) + x.length, 
	argvalue.length);
    argvalue = leading + y + trailing;
  }

  return argvalue;

}
function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid dates with 2 digit month, 2 digit day, 
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and 
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS:
   Avoids some of the limitations of the Date.parse()
   method such as the date separator character.
*************************************************/
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
 
  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var arrayDate = strValue.split(RegExp.$1); //split date into month, day, year
	var intDay = parseInt(arrayDate[1],10); 
	var intYear = parseInt(arrayDate[2],10);
    var intMonth = parseInt(arrayDate[0],10);
	
	//check for valid month
	if(intMonth > 12 || intMonth < 1) {
		return false;
	}
	
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
  
    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }
		
    //check for February
	var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
    if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
      return true; //Feb. had valid number of days
  }
  return false; //any other values, bad date
}

function validateValue( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Validates that a string a matches
  a valid regular expression value.
    
PARAMETERS:
   strValue - String to be tested for validity
   strMatchPattern - String containing a valid
      regular expression match pattern.
      
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp = new RegExp( strMatchPattern);
 
 //check if string matches pattern
 return objRegExp.test(strValue);
}


function removeCurrency( strValue ) {
/************************************************
DESCRIPTION: Removes currency formatting from 
  source string.
  
PARAMETERS: 
  strValue - Source string from which currency formatting
     will be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /\(/;
  var strMinus = '';
 
  //check if negative
  if(objRegExp.test(strValue)){
    strMinus = '-';
  }
  
  objRegExp = /\)|\(|[,]/g;
  strValue = strValue.replace(objRegExp,'');
  if(strValue.indexOf('$') >= 0){
    strValue = strValue.substring(1, strValue.length);
  }
  return strMinus + strValue;
}

function addCurrency( strValue ) {
/************************************************
DESCRIPTION: Formats a number as currency.

PARAMETERS: 
  strValue - Source string to be formatted

REMARKS: Assumes number passed is a valid 
  numeric value in the rounded to 2 decimal 
  places.  If not, returns original value.
*************************************************/
  var objRegExp = /-?[0-9]+\.[0-9]{2}$/;
   
    if( objRegExp.test(strValue)) {
      objRegExp.compile('^-');
      strValue = addCommas(strValue);
      if (objRegExp.test(strValue)){
        strValue = '($' + strValue.replace(objRegExp,'') + ')';
      }
      else {
        strValue = '$' + strValue;
      }
      return  strValue;
    }
    else
      return strValue;
}

function removeCommas( strValue ) {
/************************************************
DESCRIPTION: Removes commas from source string.

PARAMETERS: 
  strValue - Source string from which commas will 
    be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /,/g; //search for commas globally
 
  //replace all matches with empty strings
  return strValue.replace(objRegExp,'');
}

function addCommas( strValue ) {
/************************************************
DESCRIPTION: Inserts commas into numeric string.

PARAMETERS: 
  strValue - source string containing commas.
  
RETURNS: String modified with comma grouping if
  source was all numeric, otherwise source is 
  returned.
  
REMARKS: Used with integers or numbers with
  2 or less decimal places.
*************************************************/
  var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})'); 

    //check for match to search criteria
    while(objRegExp.test(strValue)) {
       //replace original string with first group match, 
       //a comma, then second group match
       strValue = strValue.replace(objRegExp, '$1,$2');
    }
  return strValue;
}

function removeCharacters( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Removes characters from a source string
  based upon matches of the supplied pattern.

PARAMETERS: 
  strValue - source string containing number.
  
RETURNS: String modified with characters
  matching search pattern removed
  
USAGE:  strNoSpaces = removeCharacters( ' sfdf  dfd', 
                                '\s*')
*************************************************/
 var objRegExp =  new RegExp( strMatchPattern, 'gi' );
 
 //replace passed pattern matches with blanks
  return strValue.replace(objRegExp,'');
}


//function for validating credit card number

function is_valid_credit_card_number(cardNumber, cardType)//sample card type visa no 4992739871642 
{
  //alert(cardType);
  var isValid = false;
  var ccCheckRegExp = /[^\d ]/;
  isValid = !ccCheckRegExp.test(cardNumber);

  if (isValid)
  {
    var cardNumbersOnly = cardNumber.replace(/ /g,"");
    var cardNumberLength = cardNumbersOnly.length;
    var lengthIsValid = false;
    var prefixIsValid = false;
    var prefixRegExp;

    switch(cardType)
    {
      case "mastercard","MasterCard":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5[1-5]/;
        break;

      case "visa","Visa":
        lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
        prefixRegExp = /^4/;
        break;

      case "amex","Amex":
        lengthIsValid = (cardNumberLength == 15);
        prefixRegExp = /^3(4|7)/;
        break;
	  case "discover","Discover":
		lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^6011/;
        break;  
      default:
        prefixRegExp = /^$/;
        alert("Card type not found");
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
  }

  if (isValid)
  {
    var numberProduct;
    var numberProductDigitIndex;
    var checkSumTotal = 0;

    for (digitCounter = cardNumberLength - 1; 
      digitCounter >= 0; 
      digitCounter--)
    {
      checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
      digitCounter--;
      numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
      for (var productDigitCounter = 0;
        productDigitCounter < numberProduct.length; 
        productDigitCounter++)
      {
        checkSumTotal += 
          parseInt(numberProduct.charAt(productDigitCounter));
      }
    }

    isValid = (checkSumTotal % 10 == 0);
  }
  //isValid=true;	
  return isValid;
}

//to check for numeric
function IsNumeric(sText)
{
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
//function used for paging starts here

//function used for paging ends here
//function used to validate multiple drop down datas
function  fun_checkMultipleselectdropdown_values(formname,ctrlname,selectedCountrynames)
{
	with(document.forms[formname])
	{
		if(selectedCountrynames!="")
		{
			for (var i=1; i < elements[ctrlname].options.length; i++)
			{
			optionValue =elements[ctrlname].options[i].value;
			if (selectedCountrynames.indexOf(optionValue)>=0)
			   elements[ctrlname].options[i].selected =true;
			}
		}
	}
}

//// function used to make all check boxes to be true or false
///by clicking the one common checkbox    
function fun_checkall(formname,parent_ctrlname,child_ctrlname,numofrows)
{
	with(document.forms[formname])
	{
      if(elements[parent_ctrlname].checked==true)
	  {
	   for(chkbx=1;chkbx<=numofrows;chkbx++)
	   {
	      chkbx_id=child_ctrlname+chkbx;
	     elements[chkbx_id].checked=true;
		}
	   }
	  else
	     {
	     for(chkbx=1;chkbx<=numofrows;chkbx++)
	      {
	       chkbx_id=child_ctrlname+chkbx;
	       elements[chkbx_id].checked=false;
		  }
		}
    }
}

/****function for paging statrs*******/
function pagetransfer(pagenumber,formname)
{
		
	    with(document.forms[formname])
        { 
                hdnpage.value=pagenumber;
				hdn_mode.value="paging";
            	submit();
        }
}
/****function for paging ends*******/

//function used to find the checked boxes
function fun_find_checkedbox(formname,ctrlname,numofrows)
{
 with(document.forms[formname])
 {
  chkd=false;
  for(chkbx=1;chkbx<=numofrows;chkbx++)
  {
   chkbx_id=ctrlname+chkbx;
   if((elements[chkbx_id].checked==true))
	{        
     chkd=true; 
	 break;
	}
  }
 }
 return  chkd ;
}

//function used to validate login form starts
function enter_key_for_login_page(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  login_validation(formname);
	}
}

function login_validation(formname)
{		
	with(document.forms[formname])
	{
              if(trimAll(loginusername.value)=="")
				  {
					alert("Please enter username.");
					loginusername.focus(); 
					return false;
				   }
				else if(loginpassword.value=="")
					{
					alert("Please enter password.");
					loginpassword.focus(); 
					return false;
					}
				 else
		        {
				 hdn_mode.value="login";
				 submit();
				 return true;
				}
	}
}
//function used to validate login form ends

//function used to validate registration form starts
/* Registration validations */

function registration_validation(formname,mode)
{
	with(document.forms[formname])
	{			
		if(trimAll(txt_Firstname.value)=="")
			{
				alert("Please enter your first name !");
					txt_Firstname.focus(); return false;
			}
		else if(trimAll(txt_Lastname.value)=="")
			{
				alert("Please enter your last name !");
					txt_Lastname.focus(); return false;
			}	
			else if(trimAll(txt_Contactemail.value)=="")
			{
				alert("Please enter email address!");
				txt_Contactemail.focus(); return false;
			}
		else if(!(validateEmail(trimAll(txt_Contactemail.value))))
			{
				alert("Please enter valid email address!");
				txt_Contactemail.focus(); return false;
			}
		else if(trimAll(txt_username.value)=="")
		{
			alert("Please enter user name!");
			txt_username.focus(); return false;
		}
		
		if(mode=="add")
		{
			 if(trimAll(txt_password.value)=="")
			{
				alert("Please enter password!");
				txt_password.focus(); return false;
			}
			
			else if(trimAll(txt_confirmpassword.value)=="")
			{
				alert("Please  confirm your password!");
				txt_confirmpassword.focus(); return false;
			}	 
			else if(trimAll(txt_password.value)!=trimAll(txt_confirmpassword.value))
			{
			alert("Confirm password doesn't match with the password");
			txt_confirmpassword.focus();return false;
			}		

		} //mode check ends
	
		hdn_mode.value=mode;	
	    return true;		
	}
}
//function used to validate registration form starts


//function used to validate the manage Category  forms starts
function fun_Addcategory(formname)
{
    with(document.forms[formname])
	{
		 if(trimAll(txt_categoryname.value)=="")
		{
		  alert("Please enter category name.");
		  txt_categoryname.focus();
		  return false;
		}
		
        submit();
	    return true;
	}
}
//function used to validate the  manage category forms ends


//function used to validate the  change password form when
///clicking on the enter key
function enter_key_for_change_pwd_page(e)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  change_pwd_validation();
	}
}

//function used to validate the  change password form  starts
function change_pwd_validation()
{
	with(document.change_password_frm)
	{
		if(old_pwd.value=="")
		{
			alert("Enter your current password.");
			old_pwd.focus();
			return false;
		}
		else if(new_pwd.value=="")
		{
			alert("Enter your new password.");
			new_pwd.focus();
			return false;
		}
		else if(confirm_pwd.value=="")
		{
			alert("Confirm your password.");
			confirm_pwd.focus();
			return false;
		}
		else if(confirm_pwd.value!=new_pwd.value)
		{
			alert("Confirm password doesn't match with new password.");
			confirm_pwd.focus();
			return false;
		}
		hdn_mode.value="change_password";
		submit();
	}
}

//function used to validate the  change password fom ends

//function used to validate the  change password form  starts
function fun_manageArtGallery(formname)
{
	with(document.forms[formname])
	{
		var EnteredDimensions =hdn_EnteredDimensions.value;

		if(trimAll(drpdwn_category.value)=="")
		{
		  alert("Please select category name.");
		  drpdwn_category.focus();
		  return false;
		}
		else  if(trimAll(drpdwn_subcategory.value)=="")
		{
		  alert("Please select subcategory name.");
		  drpdwn_subcategory.focus();
		  return false;
		}
		/*
		else  if(trimAll(drpdwn_producttype.value)=="")
		{
		  alert("Please select product type name.");
		  drpdwn_producttype.focus();
		  return false;
		}*/
		else  if(trimAll(txt_producttitle.value)=="")
		{
		  alert("Please enter product title.");
		  txt_producttitle.focus();
		  return false;
		}
		else 
		{
		  for(ctrl=1;ctrl<=EnteredDimensions;ctrl++)
		  {
		    if(trimAll(elements["txt_Productid"+ctrl].value)!="")
			{					
                	if(trimAll(elements["txt_Price"+ctrl].value)=="")
					{
					  alert("Please enter product price.");
					  elements["txt_Price"+ctrl].focus();
					  return false;
					}	
					else  if(isNaN(elements["txt_Price"+ctrl].value))
					{
					  alert("Please enter product price in numeric format.");
					  elements["txt_Price"+ctrl].focus();
					  return false;
					}
					else if(trimAll(elements["txt_inventory"+ctrl].value)=="")
					{
					  alert("Please enter product inventory.");
					  elements["txt_inventory"+ctrl].focus();
					  return false;						
					}
					else  if(isNaN(elements["txt_inventory"+ctrl].value))
					{
					  alert("Please enter product Inventory in numeric format.");
					  elements["txt_inventory"+ctrl].focus();
					  return false;
					}
			 } 	
		      
			  if(elements["chkbx_removeDimension"+ctrl].checked==true)
			  funRemoveDimension(ctrl);

		   } //for loop end
		 
		}	

		 	imgvalue=trimAll(txt_ProductImage.value);
	
			if((imgvalue)!="")
			{	
				var ary = imgvalue.split(".");
				var ext = ary[ary.length-1].toLowerCase();
				
				if((ext=="jpeg")||(ext=="jpg")||(ext=="gif"))
				{
					///sd
				}
				else
				{
					alert("You have selected a "+ ext +" file, please Select Image file of type jpg,jpeg or gif");
					txt_ProductImage.focus();
					return false;
				}
			}
				
		submit();
		return true;
	}
}

//function used to validate the  change password fom ends

//function used to validate the inbox starts here
function inbox_frm_validation()
{
	with(document.inbox_frm)
	{
		if(trimAll(txt_user_name.value)=="")
		{
			alert("Please enter your Name");
			txt_user_name.focus();
			return false;
		}		
		else if(trimAll(txt_email.value)=="")
		{
			alert("Please enter your email address");
			txt_email.focus();
			return false;
		}	
		else if(!(validateEmail(txt_email.value)))
		{
			alert("Please enter the valid email address");
			txt_email.focus(); 
			return false;
		}
		else if(txt_subject.value=="")
		{
			alert("Please enter the subject");
			txt_subject.focus();
			return false;
		}			
	return true;
	}
}
//function used to validate the inbox ends here

function addbox() 
{
	v=document.getElementById("start");
	addmore=document.getElementById("end");
	num=document.getElementById("hidd_num_dimensions").value;

  if(parseFloat(num)<5)
  {
	num=parseInt(num)+1;
	length_boxname="txt_Length"+num;
	width_boxname="txt_Width"+num;
	height_boxname="txt_Height"+num;
	product_boxname="txt_Productid"+num;
	price_boxname="txt_Price"+num;

  
    newitem="<table border=\"0\" width=\"90%\">";
  
	newitem+="<tr style=\"height:15px\" ><td class=\"caption\" colspan=\"2\"><font color=\"#D92094\"><b>Dimension"+num+"</b></font>&nbsp;&nbsp;<input type=\"checkbox\" name=\"chkbx_removeDimension"+num+"\" onclick=\"funRemoveDimension("+num+")\">Remove Dimension</td></tr>";
    
	newitem+="<tr><td class='caption' width=\"30%\"><b>Product Id"+num+":</b></td><td class='caption'><input type='text' class='textbox100' name='"+product_boxname+"'  maxlength=\"10\"></td></tr>";

	newitem+="<tr><td class='caption'><b>Length"+num+":</b></td><td class='caption'><input type='text' class='textbox100' name='"+length_boxname+"'  maxlength=\"10\"> </td></tr>";
	
	newitem+="<tr><td class='caption'><b>Width"+num+":</b></td><td class='caption'><input type='text' class='textbox100' name='"+width_boxname+"'  maxlength=\"10\"></td></tr>";
	
	newitem+="<tr><td class='caption'><b>Height"+num+":</b></td><td class='caption'><input type='text' class='textbox100' name='"+height_boxname+"'  maxlength=\"10\"></td></tr>";
	
	newitem+="<tr><td class='caption'><b>Price"+num+"(USD):</b></td><td class='caption'><input type='text' class='textbox100' name='"+price_boxname+"'  maxlength=\"10\"></td></tr></table>";
	
	document.getElementById("hidd_num_dimensions").value=num;
	newnode=document.createElement("span");
	newnode.innerHTML=newitem;
	v.insertBefore(newnode,addmore);

  } //num check ends

}

function funRemoveDimension(ctrlid)
{ 
	myArray = new Array("txt_Productid","txt_Length","txt_Width","txt_Height","txt_Price");
	formname = "frmManageGallery";
	with(document.forms[formname])
	{
		if(elements["chkbx_removeDimension"+ctrlid].checked==true)
		{
		   for(arr=0;arr<myArray.length;arr++)
			{
			   elements[myArray[arr]+ctrlid].value="";
		   }
		}
	}

	/*if(document.getElementById("chkbx_removeDimension"+ctrlid).checked==true)
	{
	   for(arr=0;arr<myArray.length;arr++)
		{
	       document.getElementById(myArray[arr]+ctrlid).value="";
	   }
	}*/
}

function item_delete(prod_id)
{	
with(document.shopping_cart_frm)
	{
		if(confirm("Are you sure you want to delete this item from your shopping cart?"))
		{
		hiddenmode.value="delete";
		hiddendelete_id.value=prod_id;
		submit();
		}	
	}
}

function func_update_cart()
{	
with(document.shopping_cart_frm)
	{
	end=document.shopping_cart_frm.total_txt_box.value;
	
		for(i=1;i<=end;i++)
		{		
			name="txt_quantity"+i;			
			if((trimAll(elements[name].value)=="") || (trimAll(elements[name].value)==0))
			{
			alert("Please enter atleast one quantity");
			elements[name].focus();
			return false;
			}
		}
		hiddenmode.value="update";
		submit();		
		
	}
	return true;
}

//function  used to validate update order status form
function funUpdateReport(formename)
{	
with(document.forms[formename])
	{
	    
		if(trimAll(drpdwnorderStatus.value)=="")
			{
			alert("Please select order status");
			drpdwnorderStatus.focus();
			return false;
			}
	
		submit();		
		return true;
	}
}

//function  used to pass the orderid when clicking on the 
//print button from order details page admin side
function funPrintReport(formename)
{	
with(document.forms[formename])
	{
	  var orderid = hdn_orderid.value;
      window.open("printreport.php?orderId="+orderid, "PrintDetails","top=0,left=0,width=600,height=600,resizable=yes,scrollbars=yes,top=100,left=100");  
	}
}

//function  used to pass the orderid when clicking on the 
//print button from order details page user side
function funPrintOrder(formename)
{	
with(document.forms[formename])
	{
	  var orderid = hdn_orderid.value;
      window.open("printorder.php?orderId="+orderid, "PrintDetails","top=0,left=0,width=600,height=600,resizable=yes,scrollbars=yes,top=100,left=100");  
	}
}

/********** function used to printing pages starts******/
function printpreview()
{
document.getElementById("btn_close").style.display="none";
document.getElementById("btn_print").style.display="none";
var OLECMDID = 7;
/* OLECMDID values:
* 6 - print
* 7 - print preview
* 1 - open window
* 4 - Save As
*/
var PROMPT = 1; // 2 DONTPROMPTUSER 
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = "";
}
/********** function used to printing pages ends******/

//function used to validate login form starts
function enter_key_for_forget_pwd_page(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	 forget_pwd_validation(formname);
	}
}

//function  used to validate forgot password form
function forget_pwd_validation(formname)
{	
with(document.forms[formname])
	{
	   if(trimAll(txt_UserName.value)=="")
		{
			alert("Please enter your user name");
			txt_UserName.focus();
			return false;
		}	
		
		submit();		
		return true;
	}
}

//function used to dynamocally create the webcontrols
// in manage gallery forms
function addDimensionControl(formname) 
{
   with(document.forms[formname])
	{
	  MaxLimit = parseFloat(hdn_TotalDimensions.value);
	  currentLimit=parseFloat(hdn_EnteredDimensions.value);
	  num=parseInt(currentLimit)+1;
      if(num<=MaxLimit)
	  {
	    document.getElementById("dimension_tr"+num).style.display="";
	    hdn_EnteredDimensions.value=num;
	  }
	} 
}
