/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function calcPayment(price, advance, period, interest, residualValue, currency) {
// calcPayment(price, downpayment, period, interest, residualValue)
	// x_lease_downpayment
	// x_lease_monthly_payment
	// x_use_lease_downpayment
	// x_use_lease_residual_value
	// x_use_lease_monthly_payment

	advanceSum = price * advance / 100;
	residualSum = price * residualValue / 100;
	
	monthPayment_lease = 
	( (interest / 1200) * (price - advanceSum)) 
	/ (1 - (1 / Math.pow((interest / 100 / 12) + 1, (period*12))));
	monthPayment_lease = Math.round(monthPayment_lease);
	
	monthPayment_use_lease = ((interest / 1200) * ((price - advanceSum) -
			(price * residualValue / 100) / (Math.pow((interest / 100 / 12) + 1, (period*12))))) /
			(1 - (1 / Math.pow((interest / 100 / 12) + 1, (period*12))));
	monthPayment_use_lease = Math.round(monthPayment_use_lease);
	
	if(isNaN(monthPayment_lease))
		monthPayment_lease="";
	
	if(isNaN(monthPayment_use_lease))
		monthPayment_use_lease="";
	
	if(isNaN(advanceSum))
		advanceSum="";
	
	if(isNaN(residualSum))
		residualSum="";
	
	if(currency == "")
		currency = "EUR"
	
	
	
	document.getElementById('x_lease_downpayment').innerHTML = "<u>" + advanceSum + "</u> " + currency;
	document.getElementById('x_lease_monthly_payment').innerHTML = "<u>" + monthPayment_lease + "</u> " + currency;
	document.getElementById('x_use_lease_downpayment').innerHTML = "<u>" + advanceSum + "</u> " + currency;
	document.getElementById('x_use_lease_residual_value').innerHTML = "<u>" + residualSum + "</u> " + currency;
	document.getElementById('x_use_lease_monthly_payment').innerHTML = "<u>" + monthPayment_use_lease + "</u> " + currency;
	
}

function fadeInFadeOutLoop(id, ms) {
    jQuery("#" + id).animate({opacity: 1.0}, {duration: ms})
        .animate({opacity: 0}, {duration: ms})
        //.animate({opacity: 0}, {duration: ms})
        .animate({opacity: 1.0}, {duration: ms, complete: fadeInFadeOutLoop(id, ms)})
}


$(document).ready(function() {
	
	
	$('a.lightbox').lightBox(); // Select all links with lightbox class

	$("#rent_inquiry_form").submit(function() 
	{
		var ip_address = $("#ip_address").val();
		var hostname = $("#hostname").val();
		var vehicle_type = $("#vehicle_type").val(); 
		var body_type = $("#body_type").val(); 
		var company = $("#company").val(); 
		var contact_person = $("#contact_person").val(); 
		//alert(contact_person);
		var email = $("#email").val(); 
		var telephone = $("#telephone").val(); 
		var rent_period = $("#rent_period").val(); 
		var bid_price = $("#bid_price").val(); 
		var message = $("#message").val(); 
		$.post("/v2/index.php/ajax/rent_inquiry", { 
			ip_address:ip_address, 
			hostname:hostname, 
			vehicle_type:vehicle_type, 
			body_type:body_type, 
			company:company, 
			contact_person:contact_person, 
			email:email, 
			telephone:telephone, 
			rent_period:rent_period, 
			bid_price:bid_price, 
			message:message },
		function(data)
		{
			//alert(dump(data));
			if (data.success)
			{
				//alert("Bliat");
				$("#show_rent_inquiry_form").hide();
				$("#successfully_inquired").show();
			}
			else
			{
				$("#vehicle_type_error").html(data.vehicle_type);
				$("#body_type_error").html(data.body_type);
				$("#company_error").html(data.company);
				$("#contact_person_error").html(data.contact_person);
				$("#email_error").html(data.email);
				$("#telephone_error").html(data.telephone);
				$("#rent_period_error").html(data.rent_period);
				$("#bid_price_error").html(data.bid_price);
				$("#message_error").html(data.message);
			}
		},'json');
	});
	
	// banner effeects
	//$("#buy_second_hand_baner").fadeIn("slow");	
	//$("#buy_second_hand_baner").fadeIn(20000);	
	/*$("#buy_second_hand_baner").fadeIn("slow", function() {
	    alert("Animation done");
	});*/
	
	function fadeInFadeOutLoop(id, ms) {
	    jQuery("#" + id).animate({opacity: 1.0}, {duration: ms})
	        .animate({opacity: 0}, {duration: ms})
	        .animate({opacity: 0}, {duration: ms})
	        .animate({opacity: 1.0}, {duration: ms, complete: id})
	}
	
/** **	
	$("#commission_sale_form").submit(function() 
			{
				var ip_address = $("#ip_address").val();
				var hostname = $("#hostname").val();
				var name = $("#name").val(); 
				var email = $("#email").val(); 
				var gsm = $("#gsm").val(); 
				var mark = $("#mark").val(); 
				var make = $("#make").val(); 
				var telephone = $("#telephone").val(); 
				var year = $("#year").val(); 
				var mileage = $("#mileage").val(); 
				var power = $("#power").val(); 
				var image_1 = $("#image_1").val(); 
				var image_2 = $("#image_2").val(); 
				var message = $("#message").val(); 
				var security_code = $("#security_code").val();
				$.post("/v2/index.php/ajax/commission_sale", { 
					ip_address:ip_address, 
					hostname:hostname, 
					name:name, 
					email:email, 
					gsm:gsm, 
					make:make, 
					model:model, 
					telephone:telephone, 
					year:year, 
					mileage:mileage, 
					power:power, 
					image_1:image_1, 
					image_2:image_2,
					message:message, 
					security_code:security_code },
				function(data)
				{
					//alert(dump(data));
					if (data.success)
					{
						//alert("Bliat");
						$("#show_commission_sale_form").hide();
						$("#successfully_requested").show();
					}
					else
					{
						$("#name_error").html(data.name);
						$("#email_error").html(data.email);
						$("#gsm_error").html(data.gsm);
						$("#make_error").html(data.make);
						$("#model_error").html(data.model);
						$("#telephone_error").html(data.telephone);
						$("#year_error").html(data.year);
						$("#mileage_error").html(data.mileage);
						$("#power_error").html(data.power);
						$("#image_1_error").html(data.image_1);
						$("#image_2_error").html(data.image_2);
						$("#message_error").html(data.message);
						$("#security_code").html(data.security_code);
					}
				},'json');
			});
			
	$("#buy_second_hand_form").submit(function() 
			{
				var ip_address = $("#ip_address").val();
				var hostname = $("#hostname").val();
				var name = $("#name").val(); 
				var email = $("#email").val(); 
				var gsm = $("#gsm").val(); 
				var mark = $("#mark").val(); 
				var make = $("#make").val(); 
				var telephone = $("#telephone").val(); 
				var year = $("#year").val(); 
				var mileage = $("#mileage").val(); 
				var power = $("#power").val(); 
				var image_1 = $("#image_1").val(); 
				var image_2 = $("#image_2").val(); 
				var message = $("#message").val(); 
				var security_code = $("#security_code").val();
				$.post("/v2/index.php/ajax/buy_second_hand", { 
					ip_address:ip_address, 
					hostname:hostname, 
					name:name, 
					email:email, 
					gsm:gsm, 
					make:make, 
					model:model, 
					telephone:telephone, 
					year:year, 
					mileage:mileage, 
					power:power, 
					image_1:image_1, 
					image_2:image_2,
					message:message, 
					security_code:security_code },
				function(data)
				{
					//alert(dump(data));
					if (data.success)
					{
						//alert("Bliat");
						$("#show_buy_second_hand_form").hide();
						$("#successfully_requested").show();
					}
					else
					{
						$("#name_error").html(data.name);
						$("#email_error").html(data.email);
						$("#gsm_error").html(data.gsm);
						$("#make_error").html(data.make);
						$("#model_error").html(data.model);
						$("#telephone_error").html(data.telephone);
						$("#year_error").html(data.year);
						$("#mileage_error").html(data.mileage);
						$("#power_error").html(data.power);
						$("#image_1_error").html(data.image_1);
						$("#image_2_error").html(data.image_2);
						$("#message_error").html(data.message);
						$("#security_code").html(data.security_code);
					}
				},'json');
			});
** **/	
	
	
});

function check_security_code()
{
	if ( document.getElementById("mark").value == "")
	{
		alert("Empty MARK field!");
		return false;
	}
	
	if ( document.getElementById("gsm").value == "")
	{
		alert("Empty GSM field!");
		return false;
	}
	
	if ( document.getElementById("security_code").value != ((6 + 4 - 5 - 3) * 7 - 4 + 221 - 120 - 100 - 1))
	{
		alert("Incorrect Security code!");
		return false;
	}
	return true;
}



function doMenu(item) {
    obj = document.getElementById(item);
    col = document.getElementById("x" + item);
    if (obj.style.display == "none") {
        obj.style.display = "block";
        //col.innerHTML = "[-]";
    }
    else 
    {
	obj.style.display = "none";
	//col.innerHTML = "[+]";
    }
}

function emailValidator(elem, helperMsg) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)) {
		return true;
	} else {
		alert(helperMsg);
		//elem.focus();
		return false;
	}
}
