//Common javascript functions
function setSelect(frmName,selName,nOption)
{
	var ddNumbers = document.forms[frmName][selName];
	for (var nCount = 0 ; nCount< ddNumbers.length ; nCount++ )
	{
		if( ddNumbers[nCount].value == nOption)
		{
			ddNumbers.selectedIndex = nCount;
			break;
		}
	}
}

function validateForm(whichForm) {
	validContent = true;
	var errorMessage = "The following problems occured with the form:\n";
	var separator = "______________________________________________________________";
	errorMessage += separator + "\n\n";
	for (i=0;i<theFields.length;i++) {
		//the current fields
		currField = eval("document." + whichForm + "." + theFields[i][0]);

		//--------------

		//check which type the field is		
		if (theFields[i][4] == "integer") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /\d+/;
				if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more digit(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][3] + " or less digit(s).\n";
				} else if (!re.exec(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain only digits.\n";
				}
			}
		} else if (theFields[i][4] == "decimal") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /[\d\.]+/;
				if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more digit(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][3] + " or less digit(s).\n";
				} else if (!re.exec(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain only digits or a period.\n";
				}
			}
		} else if (theFields[i][4] == "money") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /\$?\d+(\.\d{2})?/;
				if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more digit(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][3] + " or less digit(s).\n";
				} else if (!re.exec(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a valid dollar amount ($123.45).\n";
				}
			}
		} else if (theFields[i][4] == "string") {
			if (theFields[i][5]) {
				if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "binary") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /[true,false,0,1]/;
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be either true or false.\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "hex") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /[A-Fa-f0-9]{6}$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a hexidecimail color code (#AF614C).\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "email") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a properly formatted email address (you@yourserver.com).\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "phone") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /^1?\s*[-\.]?\s*(\d{3}|\(\s*\d{3}\s*\))\s*[-\.]?\s*\d{3}\s*[-\.]?\s*\d{4}$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a properly formatted phone number (123)-456-7890.\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "zip") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /^\d{5}(-?\d{4})?$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a 5 or 9 digit zip code (12345-6789).\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "date") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /^\d{1,2}\/|-\d{1,2}\/|-\d{4}$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be in date format (MM/DD/YYYY).\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4] == "file") {
			if (theFields[i][5]) {
				if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain the name of a file on your drive.\n";
				}
			}
		} else if (theFields[i][4] == "ssn") {
			if (theFields[i][5] || (!theFields[i][5] && currField.value != "")) {
				re = /^\d{3}[\-\. ]?\d{2}[\-\. ]?\d{4}$/
				if (!re.test(currField.value)) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must be a valid social security number (123-45-6789).\n";
				} else if (currField.value.length < theFields[i][2]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain " + theFields[i][2] + " or more character(s).\n";
				} else if (currField.value.length > theFields[i][3]) {
					validContent = false;
					errorMessage += "\"" + theFields[i][1] + "\" must contain less than " + theFields[i][3] + " or less character(s).\n";
				}
			}
		} else if (theFields[i][4].indexOf("cc-") == 0) {
			var types = theFields[i][4].substring((theFields[i][4].indexOf("(") + 1),theFields[i][4].indexOf(")")).split("|");
			validCC = false;
			for (j=0;j<types.length;j++) {
				if (types[j] == "visa") {
					// Visa: length 16, prefix 4, dashes optional.
					re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
				} else if (types[j] == "mc") {
					// Mastercard: length 16, prefix 51-55, dashes optional.
					re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
				} else if (types[j] == "discover") {
					// Discover: length 16, prefix 6011, dashes optional.
					re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
				} else if (types[j] == "amex") {
					// American Express: length 15, prefix 34 or 37.
					re = /^3[4,7]\d{13}$/;
				} else if (types[j] == "diners") {
					// Diners: length 14, prefix 30, 36, or 38.
					re = /^3[0,6,8]\d{12}$/;
				}
				if (re.test(currField.value)) {
					validCC = true;
				}
			}
			if (validCC) {
				// Checksum ("Mod 10")
				// Add even digits in even length strings or odd digits in odd length strings.
				var checksum = 0;
				var currCcNum = currField.value.replace(/\-/g,"");
				
				for (j=(2-(currCcNum.length % 2)); j<=currCcNum.length; j+=2) {
					checksum += parseInt(currCcNum.charAt(j-1));
				}
				// Analyze odd digits in even length strings or even digits in odd length strings.
				for (j=(currCcNum.length % 2) + 1; j<currCcNum.length; j+=2) {
					var digit = parseInt(currCcNum.charAt(j-1)) * 2;
					if (digit < 10) { 
						checksum += digit; 
					} else { 
						checksum += (digit-9);
					}
				}
				if ((checksum % 10) != 0) {
					validCC = false;
				}			
			}
			if (!validCC) {
				validContent = false;
				errorMessage += "\"" + currField.value + "\" is not a valid credit card number.\n";
			}
		}
	}
	errorMessage += separator;
	if (!validContent) alert(errorMessage);
	return validContent;
}

function storeCheckbox(checkbox, input)
{
	for (var i=0; i<checkbox.length; i++)
	{
    	if (checkbox[i].checked) 
		{
			if(input.value.length > 0)
				input.value = input.value + ', ';
        	input.value = input.value + checkbox[i].value;
		}
	}
}

function storeCheckboxes()
{
	storeCheckbox(document.register.purchaseResponsibility, document.register.hdnPurchaseResponsibility);
	storeCheckbox(document.register.modalities, document.register.hdnModalities);
	storeCheckbox(document.register.brands, document.register.hdnBrands);
}

function popWindow (url,winName,myWidth,myHeight,myScrollbars,myTop,myLeft,myMenubar,myResize) 
{

	myLeft= ((screen.width - myWidth) / 2);
	myTop = ((screen.height - myHeight) / 2);
	var popWin = window.open (url, winName,"width="+myWidth+",height="+myHeight+",scrollbars="+myScrollbars+",top="+myTop+",left="+myLeft+",menubar="+myMenubar+",resizable="+myResize+",location=no,bgcolor=#ffffff");
	self.name = "main";
	popWin.focus();
}
		
	  function matchEmails()
	  {
		var bMatch = false;
		
			if(document.register.email.value == document.register.email_verify.value && document.register.email.value)
				bMatch = true;
				
		else
		{
			alert("Please Verify the Email Address You Entered");
			document.register.email.focus();
		}
		return bMatch;
	  }


function setHeight(h) {
        var div = document.getElementById('navID');
		var ffox = document.getElementById('mainNav');
        div.style.height = (h) + "px";
		ffox.style.height = (h) + "px";
		
}

function simpleFR(nav) {
				
	var fo = new FlashObject('/flash/curved-header.swf', 'topswiff', '100%', '120', '7', '#FFFFFF');
	fo.write('flash_header');
	
	
		
	if(nav!="") navsubs = '?nav='+nav;
	
	var fo_nav = new FlashObject('/flash/nav-leftside.swf', 'navID', '160', '160', '7', '#FFFFFF');
	fo_nav.addVariable("navdata", "/inc/nav/nav_main.php"+navsubs);//<? echo "?nav=".$nav ?>
	fo_nav.write('mainNav');

	var fo_donate = new FlashObject('/flash/btn-donate.swf', 'donate', '160', '125', '7', '#FFFFFF');
	fo_donate.addVariable("v1", "javascript:var a=popWindow('/donate.php','donate','720','550','yes');");//donate
	fo_donate.addVariable("v2", "javascript:var a=popWindow('/assets/videos/?vid=fauxpaw_video','video','750','480');");//watch
	fo_donate.addVariable("v3", "javascript:var a=popWindow('/assets/book/','book','750','480');");//read
	fo_donate.addVariable("v4", "/faux_paw/");//buy
	fo_donate.write('dbtn');
	
	//if(nav=='home'){
		var fo_partners = new FlashObject('/flash/partner-logos.swf', 'logos', '600', '50', '7', '#ffffff');
		fo_partners.write('partner_logos');
		//}
	
/*	*/
	
}

function launch_donate() {
				
	var a=popWindow('/donate.php','donate','720','550','yes');//donate
	
}


