// JavaScript Document
 function chkEmpty(field,msg) {
 var fieldtype, val, spn;

 fieldtype = field.type;
 
 if(fieldtype = 'text')
 	val = field.value;
 else
 	val = field.options[field.selectedIndex].value;
 
 spn = 'spn_'+field.name;
 
 if(val == "") {
	 document.getElementById(spn).style.display='inline';
	 document.getElementById(spn).innerHTML = msg;
	// document.getElementById(spn).innerHTML = '<img src="images/icon_marker.png" width="7" height="11">';
	 return false;
	 }
	else {
	 document.getElementById(spn).style.display='none';
	document.getElementById(spn).innerHTML = "";
	return true;
	}
 }
 
 //VALIDATION FUNCTIONS
 function chkEmpty(field,msg) {
 var fieldtype, val, spn;

 fieldtype = field.type;
 
 if(fieldtype = 'text')
 	val = field.value;
 else
 	val = field.options[field.selectedIndex].value;
 
 spn = 'spn_'+field.name;
 
 if(val == "") {
	 document.getElementById(spn).style.display='inline';
	 document.getElementById(spn).innerHTML = msg;
	// document.getElementById(spn).innerHTML = '<img src="images/icon_marker.png" width="7" height="11">';
	 return false;
	 }
	else {
	 document.getElementById(spn).style.display='none';
	document.getElementById(spn).innerHTML = "";
	return true;
	}
 }
// EMAIL VALIDATION
function isEmailAddr(email)
{
var result = false;
var theStr = new String(email);
var index = theStr.indexOf("@");
if (index > 0)
{
var pindex = theStr.indexOf(".",index);
if ((pindex > index+1) && (theStr.length > pindex+1))
result = true;
}
return result;
}

//TEXT FIELD VALIDATION
function validRequired(formField,fieldLabel)
{
  var result = true;
  if (formField.value == "")
  {
    alert('Please enter a value for the "' + fieldLabel +'" field.');
    formField.focus();
    result = false;
  }
return result;
}

// SELECT BOX VALIDATION
function validSelect(formField,fieldLabel)
{
  var result = true;
  if (formField.selectedIndex == 0) 
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
return result;
}

// EMAIL VALIDATION
function validEmail(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
  {
    alert("Please enter a complete email address in the form: yourname@yourdomain.com");
    formField.focus();
    result = false;
  }
return result;
}

// NUMBER VALIDATION
function validNum(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result)
{
var num = parseInt(formField.value);
if (isNaN(num))
{
alert('Please enter a number for the "' + fieldLabel +'" field.');
formField.focus();    
result = false;
}
} 
return result;
}

// DATE VALIDATION
function validDate(formField,fieldLabel,required)
{
var result = true;
if (required && !validRequired(formField,fieldLabel))
result = false;
if (result)
{
var elems = formField.value.split("/");
result = (elems.length == 3); 
if (result)
{
var month = parseInt(elems[0]);
var day = parseInt(elems[1]);
var year = parseInt(elems[2]);
result = !isNaN(month) && (month > 0) && (month < 13) && !isNaN(day) && (day > 0) && (day < 32) && !isNaN(year) && (elems[2].length == 4);
}
if (!result)
{
alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
formField.focus();    
}
} 
return result;
}

// RADIO BUTTON VALIDATION
function validRadio(formField,fieldLabel) 
{
strRadio=formField
for (i=0;i<strRadio.length;i++)
if (strRadio[i].checked)return true
alert('Please select "' + fieldLabel +'".');
formField.focus();
result = false;
}

// CHECKBOX VALIDATION
function validCheckbox(formField,fieldLabel)
{
  var result = true;
  if (formField.checked == 0) 
	{
		alert('Please check the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
return result;
}

// PASSWORD VALIDATION
function validatePwd(formField,formField1) {
var result = true;
var invalid = " ";
var minLength = 8;
var pw1 = formField.value;
var pw2 = formField1.value;
if (pw1 == '') {
alert('Please enter your New Password.');
formField.focus();
result = false;
}
else if (pw2 == '') {
alert('Please Confirm your new Password.');
formField1.focus();
result = false;
}
else if (formField.value.length < minLength) {
alert('Your password must be at least ' + minLength + ' characters long. Try again.');
formField.focus();
result = false;
}
else if (formField.value.indexOf(invalid) > -1) {
alert("Please do not use spaces in your password.");
formField.focus();
result = false;
} else if (pw1 != pw2) {
alert ("You did not enter the same new password twice. Please re-enter your password.");
formField1.focus();
result = false;
}
return result;
}

// CC EXPIRY VALIDATION

function validate_cc_exp()
{
  var result = true;
	var mo = document.billing.exp_mo.value;
  var yr = document.billing.exp_yr.value;
  cc_exp = mo + "/" + yr;

 if( (mo < 1) || (mo > 12) ) {
     errmsg  = "Invalid month (" + mo + ") ";
     errmsg += "in credit card expiration date (" + cc_exp + ")";
     alert( errmsg );
     document.billing.exp_mo.focus();
     result = false;
  }
  
  var now = new Date();
  var curr_mo = now.getMonth() + 2;
  var curr_yr = now.getYear();

  if( yr < curr_yr ) {
     errmsg = "Expired credit card (" + cc_exp + ")";
     alert( errmsg );
     document.billing.exp_yr.focus();
     result = false;
  }
	

  if( (yr == curr_yr) && (mo < curr_mo) ) {
     errmsg = "Expired credit card (" + cc_exp + ")";
     alert( errmsg );
     document.billing.exp_mo.focus();
     result = false;
  }
	return result;
}

function validateSearch(theForm)
{
var result = true;	
if(document.getElementById('searchid').value == "Enter SKU or ISBN#") {
    alert('Please enter a value for the SKU or ISBN# field.');
    document.getElementById('searchid').focus();
    return false;
}

if(document.getElementById('searchid').value == "Enter Keyword or Mfr") {
    alert('Please enter a value for the Keyword or Mfr field.');
    document.getElementById('searchid').focus();
    return false;
}
	
// Start ------->
if (!validRequired(theForm.search,"Keyword or Item #"))
return false;
// <--------- End
return true;
}

function estimateShipping(theForm)
{
// Start ------->
if (!validRequired(theForm.zipcode,"Ship-to Zipcode"))
return false;
// <--------- End
return true;
}

function validateCheckoutlogin(theForm)
{
// Start ------->
if (!validRequired(theForm.login,"Username"))
return false;
if (!validRequired(theForm.pwd,"Password"))
return false;
// <--------- End
return true;
}

function validateSignup(theForm)
{
// Start ------->
if (!validRequired(theForm.login,"Username"))
return false;
if (!validatePwd(theForm.pwd,theForm.pwd1))
return false;
if (!validRequired(theForm.fname,"First Name"))
return false;
if (!validRequired(theForm.lname,"Last Name"))
return false;
if (!validEmail(theForm.email,"Email Address",true))
return false;
if (!validCheckbox(theForm.agree,"Privacy Policy and Terms of Use"))
return false;
// <--------- End
return true;
}

function validateResetPwd(theForm)
{
// Start ------->
if (!validRequired(theForm.oldpwd,"Old Password"))
return false;
if (!validatePwd(theForm.pwd,theForm.pwd1))
return false;
// <--------- End
return true;
}

function validateResetPwd1(theForm)
{
// Start ------->
if (!validRequired(theForm.login,"Username"))
return false;
if (!validEmail(theForm.email,"Email Address",true))
return false;
if (!validatePwd(theForm.pwd,theForm.pwd1))
return false;
// <--------- End
return true;
}

function validateBilling(theForm)
{
// Start ------->
if (!validRequired(theForm.fname,"First Name"))
return false;
if (!validRequired(theForm.lname,"Last Name"))
return false;
if (!validRequired(theForm.num,"Credit Card Number"))
return false;
if (!validSelect(theForm.type,"Credit Card Type"))
return false;
if (!validSelect(theForm.exp_mo,"Expiration Month"))
return false;
if (!validSelect(theForm.exp_yr,"Expiration Year"))
return false;
if (!validate_cc_exp())
return false;
if (!validRequired(theForm.code,"Verification Code"))
return false;
if (!validRequired(theForm.addr1,"Billing Address 1"))
return false;
if (!validRequired(theForm.city,"City"))
return false;
if (!validSelect(theForm.state,"State"))
return false;
if (!validRequired(theForm.zipcode,"Zip Code"))
return false;
// <--------- End
return true;
}

function validateCreditcode(theForm)
{
// Start ------->
if (!validRequired(theForm.code,"Verification Code"))
return false;
// <--------- End
return true;
}

function validateShipping(theForm)
{
// Start ------->
if (!validRequired(theForm.fname,"First Name"))
return false;
if (!validRequired(theForm.lname,"Last Name"))
return false;
if (!validRequired(theForm.addr1,"Shipping Address 1"))
return false;
if (!validRequired(theForm.city,"City"))
return false;
if (!validSelect(theForm.state,"State"))
return false;
if (!validRequired(theForm.zipcode,"Zip Code"))
return false;
// <--------- End
return true;
}

function validatePurchaseOrder(theForm)
{
// Start ------->
if (!validRequired(theForm.school,"School Name"))
return false;
if (!validRequired(theForm.purchase,"Purchase Order"))
return false;
// <--------- End
return true;
}

function SearchValue(value) {
var field = document.getElementById('searchoption');
var searchoption = field.options[field.selectedIndex].value
if(searchoption == "Keyword or Mfr")
document.getElementById('searchid').value = "Enter "+value
else
document.getElementById('searchid').value = "Enter "+value+"#"
if(document.getElementById('searchid').value == "" || document.getElementById('searchid').value == "Enter SKU or ISBN#" || document.getElementById('searchid').value == "Enter Keyword or Mfr") {
document.getElementById('gosearch').disabled = true;
}
}

function keywordValueemptySearch() {
var field = document.getElementById('searchoption');
var searchoption = field.options[field.selectedIndex].value
if(searchoption == "SKU or ISBN") {
if(document.getElementById('searchid').value == "Enter SKU or ISBN#") 
document.getElementById('searchid').value = "";
} else if(searchoption == "Keyword or Mfr") {
if(document.getElementById('searchid').value == "Enter Keyword or Mfr") 
document.getElementById('searchid').value = "";
}
}

function keywordValuefill() {
var field = document.getElementById('searchoption');
var searchoption = field.options[field.selectedIndex].value
if(searchoption == "SKU or ISBN") {
if(document.getElementById('searchid').value == "") 
document.getElementById('searchid').value = "Enter SKU or ISBN#";
} else if(searchoption == "Keyword or Mfr") {
if(document.getElementById('searchid').value == "") 
document.getElementById('searchid').value = "Enter Keyword or Mfr";
}
}

function changeStyle() {
document.getElementById('searchid').style.fontStyle = "";
document.getElementById('searchid').style.color = "#000000";

if(document.getElementById('searchid').value == "" || document.getElementById('searchid').value == "Enter SKU or ISBN#" || document.getElementById('searchid').value == "Enter Keyword or Mfr") 
document.getElementById('gosearch').disabled = true;
else
document.getElementById('gosearch').disabled = false;
	
}

$(document).ready(function(){
$('#searchid').bind ("input paste", function (e) {
setTimeout("changeStyle()",50);
});
});