
// JavaScript Document
function clear_search_field(){
	document.a3_search_form.search_contains.value = '';	
}

function same_as_contact(){
	document.order_form.ship_name.value = document.order_form.bill_name.value;
	document.order_form.ship_address.value = document.order_form.bill_address.value;
	document.order_form.ship_address2.value = document.order_form.bill_address2.value;
	document.order_form.ship_city.value = document.order_form.bill_city.value;
	document.order_form.ship_state.value = document.order_form.bill_state.value;
	document.order_form.ship_zip.value = document.order_form.bill_zip.value;
}

function render_body_header(header_string){
	var the_element = document.getElementById("body_header");
		the_element.innerHTML = header_string;
}


function confirmDelete(pk,url){
	page = url;
	reply = confirm( "Are you sure you want to delete " + " ?", "OK" );
	if(reply){
		window.location = page + "?delete=" + pk;
	}
}


function removeFromCart(index,url){
	reply = confirm( "Are you sure you want to remove this item from your cart ?", "OK" );
	if(reply){
		window.location = url + "?remove=" + index;
	}
}





//-------------------------------------------------Form Validation----------------------------------------------------------------------
function validate_a3_search(){
 
   //search contains
   if ( isempty( document.a3_search_form.search_contains )) {
		document.a3_search_form.search_contains.focus();
		alert("Please enter a value Search A3 \"Contains\" field, before searching.");
		return false;
	} 
		
   return true;
}

function validate_a3_edit(){
   
    // issue
    if ( isempty( document.a3_edit_form.issue )) {
		document.a3_edit_form.issue.focus();
		alert("Please enter a value in the \"Issue\" field before creating this a3.");
		return false;
	}
	
	// date created
	if ( isempty( document.a3_edit_form.date_created )) {
		document.a3_edit_form.date_created.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"Date Created\" field before creating this a3.");
		return false;
	}
	if ( isdate( document.a3_edit_form.date_created )){
		document.a3_edit_form.date_created.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"Date Created\" field before creating this a3.");
		return false;
	}
	
	// contact
    if ( isempty( document.a3_edit_form.contact )) {
		document.a3_edit_form.contact.focus();
		alert("Please enter a value in the \"Contact\" field before creating this a3.");
		return false;
	}

	// contact email
    if ( !checkemail( document.a3_edit_form.contact_email )) {
		document.a3_edit_form.contact_email.focus();
		return false;} 

}

function validate_date_created_report(){
	// From
	if ( isempty( document.date_created_form.from)) {
		document.date_created_form.from.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"From\" field before running this report.");
		return false;
	}
	if ( isdate( document.date_created_form.from )){
		document.date_created_form.from.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"From\" field before running this report.");
		return false;
	}
	
	// To
	if ( isempty( document.date_created_form.to)) {
		document.date_created_form.to.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"To\" field before running this report.");
		return false;
	}
	if ( isdate( document.date_created_form.to )){
		document.date_created_form.to.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"T0\" field before running this report.");
		return false;
	}
}

function validate_date_last_edited_report(){
	// From
	if ( isempty( document.date_last_edited_form.from)) {
		document.date_last_edited_form.from.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"From\" field before running this report.");
		return false;
	}
	if ( isdate( document.date_last_edited_form.from )){
		document.date_last_edited_form.from.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"From\" field before running this report.");
		return false;
	}
	
	// To
	if ( isempty( document.date_last_edited_form.to)) {
		document.date_last_edited_form.to.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"To\" field before running this report.");
		return false;
	}
	if ( isdate( document.date_last_edited_form.to )){
		document.date_last_edited_form.to.focus();
		alert("Please enter a properley formated value (i.e 01/01/2001 ) in the \"T0\" field before running this report.");
		return false;
	}
}

function validate_user_edit(){
	//username
	if ( isempty( document.user_edit_form.username)) {
		document.user_edit_form.username.focus();
		alert("Please enter a value of 6 or more characters in the \"Username\" field.");
		return false;
	}
	if (isusername (document.user_edit_form.username)){
		document.user_edit_form.username.focus();
		alert("Please enter a value on 6 or more characters in the \"Username\" field.");
		return false;		
	}
	
	//password
	if (isempty (document.user_edit_form.password)){
		document.user_edit_form.password.focus();
	    alert("Please enter a value of 6 or more characters in the \"Password\" field.");
		return false;		
	}
	if (isusername (document.user_edit_form.password)){
		document.user_edit_form.password.focus();
		alert("Please enter a value of 6 or more characters in the \"Password\" field.");
		return false;		
	}
	
	//firstname
	if (isempty (document.user_edit_form.first_name)){
		document.user_edit_form.first_name.focus();
	    alert("Please enter a value in the \"First Name\".");
		return false;		
	}
	
	//lastname
	if (isempty (document.user_edit_form.last_name)){
		document.user_edit_form.last_name.focus();
	    alert("Please enter avalue in the \"Last Name\".");
		return false;		
	}
	
	//email
	// contact email
	if (isempty (document.user_edit_form.email)){
		document.user_edit_form.email.focus();
	    alert("Please enter a valid email address");
		return false;		
	}
    if ( !checkemail( document.user_edit_form.email )) {
		document.user_edit_form.email.focus();
		return false;}
}
function validate_read_user_edit(){
	//username
	if ( isempty( document.read_user_edit_form.username)) {
		document.read_user_edit_form.username.focus();
		alert("Please enter a value of 6 or more characters in the \"Username\" field.");
		return false;
	}
	if (isusername (document.read_user_edit_form.username)){
		document.read_user_edit_form.username.focus();
		alert("Please enter a value on 6 or more characters in the \"Username\" field.");
		return false;		
	}
	
	//password
	if (isempty (document.read_user_edit_form.password)){
		document.read_user_edit_form.password.focus();
	    alert("Please enter a value of 6 or more characters in the \"Password\" field.");
		return false;		
	}
	if (isusername (document.read_user_edit_form.password)){
		document.read_user_edit_form.password.focus();
		alert("Please enter a value of 6 or more characters in the \"Password\" field.");
		return false;		
	}
	
	//firstname
	if (isempty (document.read_user_edit_form.first_name)){
		document.read_user_edit_form.first_name.focus();
	    alert("Please enter a value in the \"First Name\".");
		return false;		
	}
	
	//lastname
	if (isempty (document.read_user_edit_form.last_name)){
		document.read_user_edit_form.last_name.focus();
	    alert("Please enter avalue in the \"Last Name\".");
		return false;		
	}
	
	//email
	// contact email
	if (isempty (document.read_user_edit_form.email)){
		document.read_user_edit_form.email.focus();
	    alert("Please enter a valid email address");
		return false;		
	}
    if ( !checkemail( document.read_user_edit_form.email )) {
		document.read_user_edit_form.email.focus();
		return false;}
}
//-----------------------------------------------------Regular Expression Checks----------------------------------------------
//this doesn't work
function isValidCreditCard(type,ccnum) {
  alert(type + ccnum);
  if (type == "VISA") {
      // Visa: length 16, prefix 4, dashes optional.
      var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "MASTERCARD") {
      // Mastercard: length 16, prefix 51-55, dashes optional.
      var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "DISCOVER") {
      // Discover: length 16, prefix 6011, dashes optional.
      var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "AMERICAN_EXP") {
      // American Express: length 15, prefix 34 or 37.
      var re = /^3[4,7]\d{13}$/;
   } else if (type == "DINERS") {
      // Diners: length 14, prefix 30, 36, or 38.
      var re = /^3[0,6,8]\d{12}$/;
   }
   if (re.test(ccnum)){
   		alert 
		return true;
   }
   else return false;   
}


function checkemail(oField){
	var invalidaddress=new Array()
/* 
	invalidaddress[0]="hotmail"
	invalidaddress[1]="rocketmail"
	invalidaddress[2]="yahoo"
	invalidaddress[3]="zdnetmail"
*/
	var invalidcheck=0
	var testresults
	var str=oField.value
	var filter=/^.+@.+\..{2,3}$/
	
	if (isempty(oField)){
		return true;}
	
	if (filter.test(str)){
		var tempstring=str.split("@") 
		tempstring=tempstring[1].split(".") 
		for (i=0;i<invalidaddress.length;i++){
			if (tempstring[0]==invalidaddress[i]){
				invalidcheck=1 ;
			}
		}
		if (invalidcheck!=1){
			testresults=true ;
		}
		else{
			alert("Please enter a more official email address.");
			testresults=false;
		}
	}
	else{
		alert("Please enter a valid email address.");
		testresults=false;
	}
	if (testresults == false){
		oField.focus();
	}
	return (testresults);
}

function ishttp(ofld){
	var expr=/^http:\/\/\S+$/;
	return expr.test(ofld.value);
}

function isusername(ofld){
	var expr = /^\w{6,}$/;
	if (expr.test(ofld.value)) {
		return false;
	}
	return true;
}
function isdate(ofld) {
	var expr = /^\d{1,2}(\-|\/|\.)\d{1,2}(\-|\/|\.)(\d{4})$/;
	if ( expr.test(ofld.value) ) {
		return false;
	}
	return true;
}

function iscurrency(ofld) {
	var expr = /(^\d*$)|(^\d+\.\d{1,2}$)/ ;
	if ( expr.test(ofld.value)) {
		return false;
	}
	return true;
}

function isempty(ofld) {
	var expr = /\S/ ;
	if (expr.test(ofld.value)) {
		return false;
	}
	
	return true;
} 

function isphonenumber(ofld) {
	var expr = /\s*-?\s*(\d{3}|\(\s*\d{3}\s*\))\s*-?\s*\d{3}\s*-?\s*\d{4}$/ ;
	if ( expr.test(ofld.value)) {
		return false;
	}
	return true;
} 

function iszipcode(ofld) {
	var expr = /(^\d{5}$)|(^\d{5}-\d{4}$)/ ;
	if ( expr.test(ofld.value)) {
		return false;
	}
	return true;
}	

function isyear(ofld){
	var expr = /(^\d{4}$)/;
	if ( expr.test(ofld.value)) {
		return false;
	}
	return true;
} 

function enable_other_specified(){
	if ( document.proposal_form.tech_other.checked == true){
		 document.proposal_form.other_specified.disabled = false;
		 document.proposal_form.other_specified.focus();
	}
	else{document.proposal_form.other_specified.disabled = true;}
}

function autoFillForm( theForm ){

            if( confirm("Do You Want to AutoFill the " + theForm.id + "?")){
				
            	var debug = new Array();

                        debug['bill_name']="Rick Davenger";

                        debug['bill_address']= "2801 S. Russell";

                        debug['bill_city']= "Missoula";

                        debug['bill_address2']= "Suite #15";

                        debug['bill_zip']= "59801";

                        debug['bill_phone']= "1-406-721-8876";

                        debug['bill_email']= "larry@ironlasso.com.com";

                        debug['cc_name']= "Dustin";

                        debug['cc_number']= "1234123412341234";

                        debug['cc_cvv_code']= "123";

                        debug['ship_name']= "Rick Davenger";

                        debug['ship_address']= "2801 S Russell";

                        debug['ship_address2']= "Suite 15";

                        debug['ship_city']= "Missoula";

                        debug['ship_zip']= "59801";

                        debug['ship_phone']= "1-406-721-8876";
 

                        var inputElements = theForm.elements.length;

                        for( var i = 0; i < inputElements; i++){

                                    if( debug[ theForm.elements[i].name ] ){

                                                theForm.elements[i].value = debug[ theForm.elements[i].name ];
                                    }

                        } //end of for

            }//end of if( confirm )

}// end of function

function validate_catalog_request_form(){
 
   //name 
   if ( isempty( document.catalog_request_form.name )) {
		document.catalog_request_form.name.focus();
		alert("Please enter a value in the \"Name\" field.");
		return false;} 
   
   //address 
   if ( isempty( document.catalog_request_form.address )) {
		document.catalog_request_form.address.focus();
		alert("Please enter a value in the \"Address\" field.");
		return false;} 
		
   //city 
   if ( isempty( document.catalog_request_form.city )) {
		document.catalog_request_form.city.focus();
		alert("Please enter a value in the \"City\" field.");
		return false;}
	
   //zip 
   if ( iszipcode( document.catalog_request_form.zip )) {
		document.catalog_request_form.zip.focus();
		alert("Please enter a value in the \"Zip\" field.");
		return false;} 
     
   //contact email not empty 
   if ( isempty( document.catalog_request_form.email )) {
		document.catalog_request_form.email.focus();
		alert("Please enter a value in the \"Email\" field.");
		return false;}

   //contact email
   if ( !checkemail( document.catalog_request_form.email )) {
		document.catalog_request_form.email.focus();
		return false;} 
   
}