// jQuery functions:
$(document).ready(function() {	
    $('#noJS').css("display" , "none");
    $('#hasJS').css("display" , "block"); 
 	$('#submit').click(function(){
		var query = $("#conform").serialize();
		query = query + "&ajax=1";
//alert(query);
		if(checkRequired('conform')) {
			$('body').css("cursor","wait");
			$.ajax({
   				type: "POST",
   				url: "index-ajax.php",
   				data: 'q=assets/snippets/formHandler/formHandler.php&' + query ,
   				success: function(msg){
   					//alert(msg);
   						var cmdString = unescape(msg);
						var cmdArray = cmdString.split('||');
					
						for(cnt=0;cnt<cmdArray.length;cnt++) {
							eval(cmdArray[cnt]);
						}
						$('body').css("cursor","default");
						document.conform.reset();
						window.location = 'http://' + location.hostname;
				}
   
 			})
		}  else {
                   return false;
                }
 	})
})
 	
 
 // End jQuery section


function checkRequired (formName) {
	var x = document.forms[formName].elements;
 	for (var i=0;i<x.length;i++)
 	{
 		var eventField = x[i].value;
		// Exclude comment fields
		if( eventField == 'Enter your name here ...' || eventField == 'Enter your email here ...' ) {
			eventField = '';
		}
 		
  		if (x[i].getAttribute('required') && !eventField) {
    		alert('Please enter all required fields' + i)
    		return false;
 		}
 	}
 	return true;
}

function formatPhone(formName, fieldName)
{
	var field = document.forms[formName].elements[fieldName];
	var phone = document.forms[formName].elements[fieldName].value;
	phone = phone.replace(/[\(\)\.\-\ ]/g, '');
	
	var phoneFormat ="";
	if (!IsNumeric(phone)) {
   		alert("The phone number contains illegal characters.");
   		field.value = '(250) ';
   		field.focus();
   		return false;
	}
	if (phone.length != 10 && phone.length != 11) {
		alert("Please enter area code plus a 7 or 8 digit number.");
		field.focus();
   		return false;
		}
	if(phone.length == 10) {
		for (i = 0; i < phone.length; i++) {
			if(i==0) { phoneFormat += '('; }
			if(i==3) { phoneFormat += ') '; }
			if(i==6) { phoneFormat += '-'; }
			phoneFormat += phone.charAt(i); 
		}
		field.value = phoneFormat;
		return true;
	}
	
	if(phone.length == 11) {
		for (i = 0; i < phone.length; i++) {
			if(i==3 || i==7) { phoneFormat += '.'; }
			phoneFormat += phone.charAt(i); 
		}
		field.value = phoneFormat;
		return true;
	}
}
// Housekeeping functions
// http://www.codetoad.com/javascript/isnumeric.asp
function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}
function submit_form(form_name, check_os0 ,check_os1) {
	
	// Check the default form 'add_xxxxxx'
	var pos = form_name.indexOf('_');
	var suffix = form_name.substr(pos);
	var defaultName = 'add' + suffix;
	if(check_os0 == 's' || check_os0 == 't') {
		var os0 = document.forms[defaultName].elements['os0'];
		var isChecked = false;
		for(var i = 0; i < os0.length; i++) {
			if(os0[i].checked) {
				isChecked = true;
			}
		}
		if(isChecked == false && check_os0 == 's'){
			alert('Please select a product size');
			return false;
		} else 		if(isChecked == false && check_os0 == 't'){
			alert('Please select the product type');
			return false;
		}
	} 
	if(check_os1 == 's' || check_os1 == 't') {
		var os1 = document.forms[defaultName].elements['os1'];
		var isChecked = false;
		for(var i = 0; i < os1.length; i++) {
			if(os1[i].checked) {
				isChecked = true;
			}
		}
		if(isChecked == false && check_os1 == 's'){
			alert('Please select a product size');
			return false;
		} else 		if(isChecked == false && check_os1 == 't'){
			alert('Please select the product type');
			return false;
		}
	} 
	document.forms[form_name].submit();
}
function toggle_category_div(div_id) {
	var toggle = document.getElementById(div_id).style.display;
	if(toggle == 'none') {
		document.getElementById(div_id).style.display = 'block';
		document.getElementById(div_id + '_img').src='images/icon_arrow_open.gif';
	} else {
		document.getElementById(div_id).style.display = 'none';
		document.getElementById(div_id  + '_img').src='images/icon_arrow.gif';
	}
	
}


/**
 * Update the item_number element in the parts forms to reflect the changes to the item 
 * number being sent to PayPal.
 * 
 * @param	formID	String	Form being updated
 * @param	ppID	String	The element name in the form
 * @param	size	String	The new size for the item_number
 * @param	code	String	The base code for the item_number
 * @param	type	String	The type of item 
 * 
 * @return	null
 */
function processItem(formID, ppID, size, code,type) {
	// Add size code
	var item_number = code + "-" + size;
	document.forms['add_' + formID].elements['item_number'].value = item_number;
	document.forms['bn_' + formID].elements['item_number'].value = item_number;
	document.forms['bn_' + formID].elements[ppID].value = type;
	if(size == 'l') {
		document.forms['bn_' + formID].elements['os0'].value = 'Large';
		document.forms['add_' + formID].elements['os0'].value = 'Large';
	} else if(size == 'm') {
		document.forms['bn_' + formID].elements['os0'].value = 'Medium';
		document.forms['add_' + formID].elements['os0'].value = 'Medium';
	} else if(size == 's') {
		document.forms['bn_' + formID].elements['os0'].value = 'Small';
		document.forms['add_' + formID].elements['os0'].value = 'Small';
	}
}


