function toggleElemVisibility(id){
	var elem = document.getElementById(id);
	if(elem.style.display=='block'){
		elem.style.display='none';
	} else {
		elem.style.display='block';
	}
}

   
	
	
function validateForm(fi){
	var isBlank = /^\s*$/;			// Checks blank fields.
	var isNum = /^[0-9\.0-9]+$/;		// Checks numbers.
	var isEmail = /^\S+@\S+(\.\S+)+$/;	// Checks email.

	var elems = fi.getElementsByTagName('input');
	var elem;

	for(i=0; i<elems.length; i++){
		elem = elems[i];
		if(elem.className=="required"){
			if((elem.type=='text')||(elem.type=='password')){
				if (isBlank.test(elem.value)) {
					alert("Please fill in all mandatory fields.");
					elem.select();
					return false;
				}
			} else if(elem.type=='checkbox'){
				if(!elem.checked){
					alert("Please check all the required checkboxes.");
					elem.select();
					return false;				
				}
			}
		} if(elem.className=="validateEmail"){
			if (!isEmail.test(elem.value)) {
				alert("Please enter your email address correctly.");
				elem.select();
				return false;
			}
		} if(elem.className=="validateNumber"){
			if (!isNum.test(elem.value)) {
				alert("Please enter your numbers correctly.");
				elem.select();
				return false;
			}
		}
	}

	elems = fi.getElementsByTagName('select');

	for(i=0; i<elems.length; i++){

		elem = elems[i];
		if(elem.className=="required"){
			if((elem.options[elem.selectedIndex].value=='')||(elem.options[elem.selectedIndex].value=='0')){
				alert("Please choose an option.");
				elem.select();
				return false;
			}
		}
	}
	

	elems = fi.getElementsByTagName('textarea');

	for(i=0; i<elems.length; i++){
		elem = elems[i];
		if(elem.className=="required"){
			if((elem.innerHTML=='')){
				alert("Please enter some text.");
				elem.select();
				return false;
			}
		}
	}	

	elems = fi.getElementsByTagName('radio');
	
	for(i=0; i<elems.length; i++){
		//make a new array with all the radio buttons with a particular name
		elem = elems[i];
		if(elem.className=="required"){
			if(elem.checked){
				
			}
		}
	}	
	return true;
}

function confirmPasswords(id, confirmId){
	if(document.getElementById(id).value!=document.getElementById(confirmId).value){
		alert('The passwords you entered don\'t match.\n\nPlease reconfirm your password.');
		document.getElementById(confirmId).value='';
		document.getElementById(confirmId).select();
		return false;
	}
	return true;

}








/* backend upload image function */
$(document).ready(function(){

	var count = 1 ;
	
	$('#addUpload').click(function() {		
		$('#uploadTBody').append('<tr id="uploadTR'+count+'"><td id="upload_input" style="text-align: center; border-bottom: 1px solid rgb(204, 204, 204);"><input type="file" value="" name="upload'+count+'" id="upload'+count+'" /></td><td style="text-align: center; border-bottom: 1px solid rgb(204, 204, 204);"><input type="button" value="Reset" class="submitButton" onClick="resetUpload(this)"  name="back" id="'+count+'" /></td></tr>');												
		count++ ;
	});

	
	
	
	
	
});



function resetUpload(obj){
	$('#upload'+obj.id).attr("value", '');
	
}



/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};    







$(document).ready(function(){
	
	/* product details total price */
	$('.sizeId').click(function() {
		var substr = $(this).val().split('#');
		var newPrice 	= substr[1] ; 
		var oldPrice 	= $('#sizePrice').val() ;
		var totalPrice 	= $('#totalprice').html() ;		
		totalPrice = parseFloat(totalPrice) - parseFloat(oldPrice) + parseFloat(newPrice) ;		
		totalPrice = Math.round(totalPrice*100)/100;
		$('#sizePrice').attr('value', newPrice);
		$('#totalprice').html(totalPrice);
	});
	
	$('.packageId').click(function() {
		var substr = $(this).val().split('#');
		var newPrice 	= substr[1] ; 
		var oldPrice 	= $('#packagePrice').val() ;
		var totalPrice 	= $('#totalprice').html() ;		
		totalPrice = parseFloat(totalPrice) - parseFloat(oldPrice) + parseFloat(newPrice);		
		totalPrice = Math.round(totalPrice*100)/100;
		$('#packagePrice').attr('value', Math.round(newPrice));
		$('#totalprice').html(totalPrice);
	});
	
	$('.specialItem').click(function() {
		var substr = $(this).val().split('#');
		var newPrice 	= substr[1] ; 
		//var oldPrice 	= $('#specialItem').val() ;
		var totalPrice 	= $('#totalprice').html() ;	
		
		if ($(this).attr("checked") == true) {	
			totalPrice = parseFloat(totalPrice) + parseFloat(newPrice);		
			totalPrice = Math.round(totalPrice*100)/100;
			//$('#specialItem').attr('value', Math.round(newPrice));
			$('#totalprice').html(totalPrice);
		}else{
			totalPrice = parseFloat(totalPrice) - parseFloat(newPrice);		
			totalPrice = Math.round(totalPrice*100)/100;
			//$('#specialItem').attr('value', Math.round(newPrice));
			$('#totalprice').html(totalPrice);
		}
	});
	
	/* allow edit address info at my account page */
	$('#myaccount_address').click(function() {
		if ($('#acc_address').attr("disabled") == true) {
			$('#acc_address').attr("disabled", false);
			$('#acc_suburb').attr("disabled", false);
			$('#acc_city').attr("disabled", false);
			$('#acc_postCode').attr("disabled", false);
			$('#acc_state').attr("disabled", false);
			$('.acc_addressType').attr("disabled", false);			
		}else{
			$('#acc_address').attr("disabled", true);
			$('#acc_suburb').attr("disabled", true);
			$('#acc_city').attr("disabled", true);
			$('#acc_postCode').attr("disabled", true);
			$('#acc_state').attr("disabled", true);
			$('.acc_addressType').attr("disabled", true);	
		}
	});
	
	/* checkout address page*/
	$('#delivery_edit').click(function() {
		if ($('#delivery_edit').attr("checked") == true) {			
			$('#delivery_firstName').val( $('#billing_firstName').val()) ;			
			$('#delivery_lastName').val( $('#billing_lastName').val()) ;
			$('#delivery_company').val( $('#billing_company').val()) ;
			$('#delivery_firstLine').val( $('#billing_firstLine').val()) ;			
			$('#delivery_suburb').val( $('#billing_suburb').val()) ;			
			$('#delivery_city').val( $('#billing_city').val()) ;		
			$('#delivery_postCode').val( $('#billing_postCode').val()) ;
			$('#delivery_email').val( $('#billing_email').val()) ;
			$('#delivery_phone').val( $('#billing_phone').val()) ;
			$('#delivery_mobile').val( $('#billing_mobile').val()) ;					
		}else{
			$('#delivery_firstName').val('') ;			
			$('#delivery_lastName').val('') ;
			$('#delivery_company').val('') ;
			$('#delivery_firstLine').val('') ;			
			$('#delivery_suburb').val('') ;			
			$('#delivery_city').val('') ;		
			$('#delivery_postCode').val('') ;
			$('#delivery_email').val('') ;
			$('#delivery_phone').val('') ;
			$('#delivery_mobile').val('') ;		
		}
	});
	
	$('#billing_edit').click(function() {
		if ($('#billing_edit').attr("checked") == true) {
			$('.billing').attr("disabled", false);
		}else{
			$('.billing').attr("disabled", true);
		}
	});
	
	/* shopping cart shipping cost */
	//var postcodeURL = "?module=order&action=view" ; 
	
	//$('#deliveryCostBtn').click(function() {
	//	window.location = postcodeURL ;
	//});
		
	//$('#deliveryCostInput').keyup(function() {
		//postcodeURL = "?module=order&action=view&code=" + $('#deliveryCostInput').attr("value") ;
	//});
	
	
	$('.btn_payment').click(function() {
		if ($(this).val() == 'paypal') {			
			$('#paypal').css("display", 'block');
			$('#eway').css("display", 'none');
		}else if($(this).val() == 'eway'){			
			$('#eway').css("display", 'block');
			$('#paypal').css("display", 'none');
		}		
	});
	
	
	
	
	
	
	
	
	
	
	
	
});



/* ajax for mailing */
function editMail(id){	
		 var html = $.ajax({
		 	type: "POST",
		   	url: "ajax.php",
		   	data: "module=mailing&action=edit&id="+id,		  	
		  	async: false
		}).responseText;		
		$('#email'+id).html(html);
	

}

function updateMail(id){
	var email 		= $('#editEmail'+id).val() ;
	var firstName 	= $('#editFirst'+id).val() ;
	var lastName 	= $('#editLast'+id).val() ;
	var mailinglist	= $('#editList'+id).val() ;
	
	var html = $.ajax({
		type: "POST",
		url: "ajax.php",
		data: "module=mailing&action=update&id="+id+"&email="+email+"&firstName="+firstName+"&lastName="+lastName+"&mailinglist="+mailinglist,		  	
		async: false
	}).responseText;		
	$('#email'+id).html(html);
}




