$(document).ready(function() {
	$('.error').hide();
	$('.loading').hide();	
	
	//var verify = $.md5($("input#verifi").val())+'a4xn';
	//$("input#coookie").val($.cookie('tntcon'));
	
	$('table.ordertable tr').each(function (){
		/*$(this).children('td:first').css('width','100%');
		$(this).children('td:last').css('text-align','center');*/
	
		$(this).find('ul').hide();
		
		$(this).children('td:first').css("cursor","pointer");
		
		$(this).mouseover(function(){	
			$('table.ordertable tr').removeClass('mouseover');
			$(this).parent('tr').addClass('mouseover');	
			return false;	
		});
		
		$(this).children('td:first').click(function(){	
			$('table.ordertable tr').removeClass('mouseover');
			//$('table.ordertable tr').removeClass('active');
			
			if ($(this).hasClass('selected')) {
				$(this).removeClass('selected');
				$(this).find('ul').slideUp(100);
			} else {
				$(this).addClass('selected');
				$(this).find('ul').slideDown(100);
			}
			return false;	
		});
		
		
		
		
	});
	
	$('a#ordertable-expand-all').click(function(){		
	
		$('table.ordertable tr').children('td:first').removeClass('selected');
		
		if ($(this).hasClass('expand-all')) {
			$(this).removeClass('expand-all');
			$(this).addClass('collapse-all');
			$('table.ordertable tr').children('td').children('ul').slideDown(100);
		} else {
			$(this).removeClass('collapse-all');
			$(this).addClass('expand-all');
			$('table.ordertable tr').children('td').children('ul').slideUp(100);
		}
		
		return false;
	});
	
	$("input#total").val(getCurrencySymbol() + addCommas($("input#price").val()));
	
	var myTotal = $("input#price").val();
	
	$('input.checkoption').each(function() {
		$(this).click(function(){
			
	            var option = $(this).val();
				var price = $("input#price").val();
				
	            //if it's a number add it to the total
	            if (IsNumeric(option)) {
					if ($(this).attr('checked')) {
						myTotal = parseFloat(myTotal,10) + parseFloat(option,10);
					} else {						
						myTotal = parseFloat(myTotal,10) - parseFloat(option,10);
					}
	            }
				
	        	$("input#total").val(getCurrencySymbol() + addCommas(myTotal));
	        });
		});
	
	$("orderform").submit(function() {
			return false;
	});
	
	$("#submit_btn").click(function() {
		// validate and process form here
		$('.error').hide();
		
		//$('.loading').show().delay(800);
		$('.loading').show();
		
		var err = "false";
		
		var packagename = $("input#packagename").val();
		
		var price = $("input#price").val();		
		price = getCurrencySymbol() + addCommas(price);
		
		var total = $("input#total").val();
		
		var name = $("input#name").val();		
		if (name == "") {
			$("label#name_error").show();
			$("input#name").focus();
			err = "true";
		}
		
		var email = $("input#email").val();
		if (email == "") {
			$("label#email_error").show();
			$("input#email").focus();
			err = "true";
		}
		
		
		
		//alert(verifi_cookie);
		/*
		if( $.cookie('tntcon') !=  verify) { 
		    $("label#verify_error").show();
			$("input#verify").focus();
			err = "true";
		}
		*/
		
		if ($("input#ro").length > 0) {
			var ro = $("input#ro").val();
			ro = getCurrencySymbol() + addCommas(ro);
			var ro_description = $("input#ro-description").val();
		}
		
		
		if ($("input#vo").length > 0) {
			var vo = $("input#vo").val();
			vo = getCurrencySymbol() + addCommas(vo);
			var vo_description = $("input#vo-description").val();
		}
		
		if ($("input#vo-premium").length > 0) {
			var vo_premium = $("input#vo-premium").val();
			vo_premium = getCurrencySymbol() + addCommas(vo_premium);
			var vo_premium_description = $("input#vo-premium-description").val();
		}
		
		if ($("input#bankacc").length > 0) {
			var bankacc = $("input#bankacc").val();
			bankacc = getCurrencySymbol() + addCommas(bankacc);
			var bankacc_description = $("input#bankacc-description").val();
		}
		
		
		
		
		
		if (err != "false") { 		
			$('.loading').hide();
			return false; 			
		}
		
		
		var phone = $("input#phone").val();
		
		var company = $("input#company").val();
		
		var remarks = $("textarea#remarks").val();		
		
		var dataString = 
			'packagename=' + packagename + 
			'&name=' + name + 
			'&email=' + email + 
			'&phone=' + phone + 
			'&company=' + company + 
			'&remarks=' + remarks + 
			'&price=' + price + 
			'&total=' + total + 
			'&currencysymbol=' + getCurrencySymbol();
		
				
		if ($("input#ro").length > 0) {	
			dataString += '&ro-description=' + ro_description;
			if ($("input#ro").attr('checked')) {
				dataString += '&ro=' + ro;
			}
		}
			
		if ($("input#vo").length > 0) {
			dataString += '&vo-description=' + vo_description;	
			if ($("input#vo").attr('checked')) {
				dataString += '&vo=' + vo;
			}
		}
		
		if ($("input#vo-premium").length > 0) {
			dataString += '&vo-premium-description=' + vo_premium_description;	
			if ($("input#vo-premium").attr('checked')) {
				dataString += '&vo-premium=' + vo_premium;
			}
		}
		
		if ($("input#bankacc").length > 0) {
			dataString += '&bankacc-description=' + bankacc_description;
			if ($("input#bankacc").attr('checked')) {
				dataString += '&bankacc=' + bankacc;
			}
		}
			
		//alert(dataString);//just for testing
				
		$.ajax({
			type: "POST",
			url: "http://www.rikvinint.com/wp-content/themes/rikvin-standard/includes/orderform-process.php",
			data: dataString,
			success: function() {
				//$('#orderform').html("<div id='message'></div>");
				$('#orderbox').html("<h3>Order Submitted!</h3>")
				.append("<h4>Thank you for choosing Rikvin.</h4>")
				.append("<p>This is to confirm that we have successfully received the information you provided.<br />")
				.append("For your reference, a Sales Order has been sent to your email. ")
				.append("Our representatives will contact you as soon as possible.</p>")
				.append("<p>You can contact us directly at: </p>")
				.append("<p>Rikvin Pte Ltd<br />20 Cecil Street, #14-01, Equity Plaza<br />Singapore 049705<br />")
				.append("Phone: (+65) 6438 8887<br />")
				.append("Fax: (+65) 6438 2436<br />")
				.append("Email: info@rikvin.com<br />")
				.append("Website: <a href=http://www.rikvin.com target=_blank>http://www.rikvin.com</a></p>")
				.hide()
				.fadeIn(300, function() {
					$('#message');
				});
			},
			error: function(){
				//$('#orderform').html("<div id='message'></div>");
				$('#ordermessage').html("<h2>Submission Failed!</h2>")
				.append("<p>Error encountered.</p>")
				.hide();
			}
		});
		
		$('.loading').hide();
		
		return false;
	
	});
	
	
  
});

//isNumeric function Stolen from: 
//http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric

function IsNumeric(input) {
    return (input - 0) == input && input.length > 0;
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	
	if(isNaN(num))
		num = "0";
	
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	
	if(cents<10)
		cents = "0" + cents;
	
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function getCurrencySymbol (){
	var _currencysymbol;
	if (window.document.getElementById("currencysymbol")) {
		_currencysymbol = window.document.getElementById("currencysymbol").value;
	} else {
		_currencysymbol = "S$";
	}
	
	return _currencysymbol;
}
