//Variables 
var counter = 0;
//Ready functions
$(document).ready(function(){
	//Constuct
	if($("#subHeader").length > 0){
		setHeaderImage();
	}
	$("#logo").click(function(){
		window.location = "index.php";
	});
	if($("form").length > 0){
		$("input[type=text]").focus(function(){
			clearInput($(this));
		});
		$("input[type=text]").blur(function(){
			setDefaults($(this));
		});
		$("input[type=button]").click(function(){
			submitForm();	
		});
		$("#pay input[type=radio]").click(function(){
			setPayer($(this));
		});
	}
	$("#calculatorLink").click(function(){
		var page = window.location.pathname;
		if(page.indexOf("szolgaltatasaink") > -1){
			var offset = $("#calculator").offset().top-280;
			$("html,body").animate({scrollTop:offset},1000);
		} else {
			getCalculator();
		}
		return false;
	});
});
//Functions

function setHeaderImage(){
	var page = window.location.pathname;
	page = page.split("/").pop().split(".").shift();
	switch(page){
		case "futarrendeles":
			page = "szolgaltatasaink";
			break;
		case "karrier":
			page = "futarszolgalat";
			break;
	}
	var image = "url(images/layout/" + page + "header.jpg)";
	$("#subHeader").css("backgroundImage", image);	
}

function setDefaults(element){
	var id = $(element).attr("id");
	if($(element).val() == ""){
		$(element).val(inputValues[id]);
	}
}

//Clear input
function clearInput(element){
	var id = $(element).attr("id");
	if($(element).val() == inputValues[id]){
		$(element).val("");
	}	
	if($(element).val() ==  inputValues[id] + " Hibás vagy hiányos adat!"){
		$(element).val("");
		$(element).css("background", "#FFF");
	}
}

function submitForm(){
	var error = 0;
	var ids = new Array();
	var pickupCity = $("#pickupCity").val();
	var pickupAddress = $("#pickupAddress").val();
	var pickupFrom = $("#pickupFrom").val();
	var pickupTel = $("#pickupTel").val();
	var pickupEmail = $("#pickupEmail").val();
	var deliveryCity = $("#deliveryCity").val();
	var deliveryAddress = $("#deliveryAddress").val();
	var deliveryTo = $("#deliveryTo").val();
	var deliveryTel = $("#deliveryTel").val();
	var deliveryEmail = $("#deliveryEmail").val();
	var parameters = $("#parameters").val();
	var payFrom = $("#payFrom").val();
	var payNote = $("#payNote").val();
	var payTel = $("#payTel").val();
	var payEmail = $("#payEmail").val();
	var type = $("input[name=type[]]:checked").val();
	var sms = $("input[name=sms[]]:checked").val();
	var payer = $("input[name=payer[]]:checked").val();
	
	//Not required
	if(parameters == "Kérjük írja le a túlméretes csomag paramétereit:"){
		parameters = "-" ;
	}
	if(payNote == "Megjegyzés:"){
		payNote = "-" ;
	}
	
	//Check required
	//Radio
	if(!type){
		$("#typeText").html("<span class='yellow'>Szolgáltatás típusa: Kérem válasszon!</span>");	
		error++;
	} else {
		$("#typeText").html("Szolgáltatás típusa");	
	}
	if(!sms){
		$("#smsText").html("<span class='yellow'>SMS értesítés: Kérem válasszon!</span>");	
		error++;
	} else {
		$("#smsText").html("SMS értesítés");	
	}
	if(!payer){
		$("#payerText").html("<span class='yellow'>Fizetés: Kérem válasszon!</span>");	
		error++;
	} else {
		$("#payerText").html("Fizetés");	
	}

	for(var i = 0; i < $("input[type=text]").length; i++){
		var id = $("input[type=text]").eq(i).attr("id");
		ids[i] =  id;
	}
	for(var i = 0; i < ids.length; i++){
		if($("#" + ids[i]).val() == inputValues[ids[i]]){
			if(ids[i] != "payNote" && ids[i] != "parameters"){
				$("#" + ids[i]).css("background", "#f2d793");
				$("#" + ids[i]).val(inputValues[ids[i]] + " Hibás vagy hiányos adat!");
				error++;
			}
		}
	}
	//Email 
	if(emailCheck(pickupEmail) == false){
		$("#pickupEmail").css("background", "#f2d793");
		$("#pickupEmail").val("E-mail: Hibás vagy hiányos adat!");
	}
	if(emailCheck(deliveryEmail) == false){
		$("#deliveryEmail").css("background", "#f2d793");
		$("#deliveryEmail").val("E-mail: Hibás vagy hiányos adat!");
	}
	if(emailCheck(payEmail) == false){
		$("#payEmail").css("background", "#f2d793");
		$("#payEmail").val("E-mail: Hibás vagy hiányos adat!");
	}
	if(error == 0){
		if(counter == 0){
			counter ++;
			//Ajax
			var url = "order.php";
			var dataString = "submit=1" +
											 "&pickupCity=" + pickupCity +
											 "&pickupAddress=" + pickupAddress +
											 "&pickupFrom=" + pickupFrom +
											 "&pickupTel=" + pickupTel +
											 "&pickupEmail=" + pickupEmail +
											 "&deliveryCity=" + deliveryCity +
											 "&deliveryAddress=" + deliveryAddress +
											 "&deliveryTo=" + deliveryTo +
											 "&deliveryTel=" + deliveryTel +
											 "&deliveryEmail=" + deliveryEmail +
											 "&parameters=" + parameters +
											 "&payFrom=" + payFrom +
											 "&payNote=" + payNote +
											 "&payTel=" + payTel +
											 "&payEmail=" + payEmail + 
											 "&type=" + type +
											 "&sms=" + sms +
											 "&payer=" + payer;
			$.ajax({
				url:url,
				data: dataString,
				type: "post",
				success: function(data){
					$("input[type=button]").remove();
					$("#success").html(data);
				}
			});
		}
	} else {
		counter = 0;
	}
}

function setPayer(element){
	var payer = $(element).val();
	if(payer == "pickup"){
		$("#payFrom").val($("#pickupFrom").val());
		$("#payTel").val($("#pickupTel").val());
		$("#payEmail").val($("#pickupEmail").val());
	}
	if(payer == "delivery"){
		$("#payFrom").val($("#deliveryTo").val());
		$("#payTel").val($("#deliveryTel").val());
		$("#payEmail").val($("#deliveryEmail").val());
	}
	if(payer == "other"){
		$("#payFrom").val("Cég vagy személy neve:");
		$("#payTel").val("Telefonszám:");
		$("#payEmail").val("E-mail:");
	}
}

function emailCheck(str) {
    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    if (str == null || str == "") {
        return false
    }
    if (str.indexOf(at) == -1) {
        return false
    }
    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        return false
    }
    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        return false
    }
    if (str.indexOf(at, (lat + 1)) != -1) {
        return false
    }
    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
 		return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        return false
    }

    if (str.indexOf(" ") != -1) {
        return false
    }
    return true
}

//Calculator
function getCalculator(){
	var url = "calculator.php";
	$.ajax({
		url: url,
		type: "post",
		success:function(data){
			$("#container").append(data);
			$("#calculator").css({
				position:"absolute",
				top:"200px",
				left:"60px",
				margin:"0 auto",
				border:"solid 1px #000"
			});
			$("#calculator").append("<p class='close'>X</p>");
			$("#calculator .close").click(function(){
				$("#calculator").remove();
				$("#pickupImage, #deliveryImage").css("display", "none");
			});
		}
	});
}
