//RegExp for e-mail address validation
re1 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})$/;

//RegExp for web address validation
re5 = /^[Ww]{3}\.\S+\.\S+$/;

//RegExp for simple address validation - no PO Box addresses
re4 = /^.*[Pp]{1}[\. ]*[Oo]{1}[\. ]*[Bb]{1}[Oo]{1}[Xx]{1}.*$/;

//RegExp for zip codes
re2 = /^\d{5}$/;

//RegExp for names
re3 = /^[a-zA-Z].*$/;

//RegExp for phone numbers (currently not in use)
//re3 = /^\(?\d{3}([-\. /]|(\)|\) ))?\d{3}[-\. ]?\d{4}$/;


function IsNumeric(val)
{
	//Uses a Regular Expression to determine if a string represents a numeric value

	reNum = /^\d+[\.]?\d*$/;

    if (reNum.test(val))
    	return true;
    else
		return false;
}

function writeDays()
{
	htmlText = "\n<select name='selDay' id='selDay' class='stdForm'>\n";
          htmlText += "\n<option value='0'>dd</option>";

    for(x = 1; x <= 31; x++)
    {
    	if (x < 10)
        	strVal = "0" + x;
    	else
        	strVal = x;

    	htmlText += "<option value='" + x + "'>" + strVal + "</option>\n";
    }

    htmlText += "</select>";

    return htmlText;
}

function writeMonths()
{
	htmlText = "\n<select name='selMonth' id='selMonth' class='stdForm'>\n";
          htmlText += "\n<option value='0'>mm</option>";

    for(x = 1; x <= 12; x++)
    {
    	if (x < 10)
        	strVal = "0" + x;
        else
        	strVal = x;

    	htmlText += "<option value='" + x + "'>" + strVal + "</option>\n";
    }

    htmlText += "</select>";

    return htmlText;
}

function writeYears()
{
	//Determine the range of years to include in the DDL (18 - 100)
	var d = new Date();
    var year = d.getFullYear();
    var minYear = year;
    var maxYear = year + 10;

	htmlText = "\n<select name='selYear' id='selYear' class='stdForm'>\n";
          htmlText += "\n<option value='0'>yyyy</option>";

    for(x = minYear; x <= maxYear; x++)
    {
    	htmlText += "<option value='" + x + "'>" + x + "</option>\n";
    }

    htmlText += "</select>";

    return htmlText;
}

function setBkgColor(objectID,strColor)
{
 	document.getElementById(objectID).style.backgroundColor = strColor;
}

function selectDDLOptionByValue(ddlName,selectValue)
{
	//Locates a DDL option by "value" and selects it

    if(document.getElementById(ddlName))
    {
    	ddlOptions = document.getElementById(ddlName);

        for (x = 0; x < ddlOptions.length; x++)
        {
        	if(ddlOptions.options[x].value == selectValue)
            {
            	ddlOptions.options[x].selected = true;
                break;
            }
        }
    }
}

function selectDDLOptionByText(ddlName,selectText)
{
	//Locates a DDL option by its "text" string and selects it
    if(document.getElementById(ddlName))
    {
        ddlOptions = document.getElementById(ddlName);

        for (x = 0; x < ddlOptions.length; x++)
        {
        	if(ddlOptions.options[x].text == selectText)
            {
            	ddlOptions.options[x].selected = true;
                break;
            }
        }
    }
}

function writeNumberedOptions(startVal, endVal, skipVal, textBefore, textAfter)
{
	//Writes <option> tags for lists that use a range of sequential numbers as values
    /*
    	startVal	- The starting number to include in the option list
        endVal 		- The last number to include in the option list
        skipVal     - Specified the increment amount between each number
        textBefore	- The displayable text to print before the number
        textAfter	- The displayable text to display after the number
    */
	var htmlText = "\n";

    for(x = startVal; x <= endVal; x += skipVal)
    {
    	if (x < 10)
        	strVal = "0" + x;
        else
        	strVal = x;

    	htmlText += "<option value='" + strVal + "'>" + textBefore + strVal + textAfter + "</option>\n";
    }

    return htmlText;
}

function OnCountryChanged(frm, selectedCountry)
{			
	if(selectedCountry.toLowerCase().search("united states") >= 0){
		selectDDLOptionByText("selState", "<?= $state; ?>")			
		frm.selState.disabled = false;
		frm.txtTerritory.disabled = true;
	}
	else{
		selectDDLOptionByText("selState", "--")			
		frm.selState.disabled = true;
		frm.txtTerritory.disabled = false;				
	}
}
		
var btnSubmit = new Image();
var btnSubmitOvr = new Image();
btnSubmit.src = "images/btnSubmit.png";
btnSubmitOvr.src = "images/btnSubmitOvr.png";

//Preloader Code
function MM_swapImgRestore() { //v3.0
  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_preloadImages() { //v3.0
  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_findObj(n, d) { //v4.01
  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() { //v3.0
  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];}
}
