/*
$Id: general.js 1739 2007-12-20 00:52:16Z hpdl $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c)2003 osCommerce
Released under the GNU General Public License
*/
function SetFocus(TargetFormName){var target=0;if (TargetFormName !=""){for (i=0;i<document.forms.length;i++){if (document.forms[i].name==TargetFormName){target=i;break;}}}
var TargetForm=document.forms[target];for (i=0;i<TargetForm.length;i++){if ( (TargetForm.elements[i].type !="image")&& (TargetForm.elements[i].type !="hidden")&& (TargetForm.elements[i].type !="reset")&& (TargetForm.elements[i].type !="submit")){TargetForm.elements[i].focus();if ( (TargetForm.elements[i].type=="text")|| (TargetForm.elements[i].type=="password")){TargetForm.elements[i].select();}
break;}}}
function RemoveFormatString(TargetElement, FormatString){if (TargetElement.value==FormatString){TargetElement.value="";}
TargetElement.select();}
function CheckDateRange(from, to){if (Date.parse(from.value)<=Date.parse(to.value)){return true;}else{return false;}}
function IsValidDate(DateToCheck, FormatString){var strDateToCheck;var strDateToCheckArray;var strFormatArray;var strFormatString;var strDay;var strMonth;var strYear;var intday;var intMonth;var intYear;var intDateSeparatorIdx=-1;var intFormatSeparatorIdx=-1;var strSeparatorArray=new Array("-"," ","/",".");var strMonthArray=new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");var intDaysArray=new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);strDateToCheck=DateToCheck.toLowerCase();strFormatString=FormatString.toLowerCase();if (strDateToCheck.length !=strFormatString.length){return false;}
for (i=0;i<strSeparatorArray.length;i++){if (strFormatString.indexOf(strSeparatorArray[i])!=-1){intFormatSeparatorIdx=i;break;}}
for (i=0;i<strSeparatorArray.length;i++){if (strDateToCheck.indexOf(strSeparatorArray[i])!=-1){intDateSeparatorIdx=i;break;}}
if (intDateSeparatorIdx !=intFormatSeparatorIdx){return false;}
if (intDateSeparatorIdx !=-1){strFormatArray=strFormatString.split(strSeparatorArray[intFormatSeparatorIdx]);if (strFormatArray.length !=3){return false;}
strDateToCheckArray=strDateToCheck.split(strSeparatorArray[intDateSeparatorIdx]);if (strDateToCheckArray.length !=3){return false;}
for (i=0;i<strFormatArray.length;i++){if (strFormatArray[i]=='mm'||strFormatArray[i]=='mmm'){strMonth=strDateToCheckArray[i];}
if (strFormatArray[i]=='dd'){strDay=strDateToCheckArray[i];}
if (strFormatArray[i]=='yyyy'){strYear=strDateToCheckArray[i];}}}else{if (FormatString.length > 7){if (strFormatString.indexOf('mmm')==-1){strMonth=strDateToCheck.substring(strFormatString.indexOf('mm'), 2);}else{strMonth=strDateToCheck.substring(strFormatString.indexOf('mmm'), 3);}
strDay=strDateToCheck.substring(strFormatString.indexOf('dd'), 2);strYear=strDateToCheck.substring(strFormatString.indexOf('yyyy'), 2);}else{return false;}}
if (strYear.length !=4){return false;}
intday=parseInt(strDay, 10);if (isNaN(intday)){return false;}
if (intday < 1){return false;}
intMonth=parseInt(strMonth, 10);if (isNaN(intMonth)){for (i=0;i<strMonthArray.length;i++){if (strMonth==strMonthArray[i]){intMonth=i+1;break;}}
if (isNaN(intMonth)){return false;}}
if (intMonth > 12||intMonth < 1){return false;}
intYear=parseInt(strYear, 10);if (isNaN(intYear)){return false;}
if (IsLeapYear(intYear)==true){intDaysArray[1]=29;}
if (intday > intDaysArray[intMonth - 1]){return false;}
return true;}
function IsLeapYear(intYear){if (intYear % 100==0){if (intYear % 400==0){return true;}}else{if ((intYear % 4)==0){return true;}}
return false;}

