// JavaScript Document

var draw_service_link;
var process_service_link;
var language;
var id_array;
var type_array;


function set_validation_array(new_id_array,new_type_array)
{
    id_array = new_id_array;
    type_array = new_type_array;
}

function set_send_type(value,type)
{
    for(var i=1;i<5;i++)
    {
        document.getElementById("send_type_"+i).style.backgroundColor="#3690c0";
    }
    document.getElementById("send_type_"+value).style.backgroundColor="#254762";
    document.getElementById("status").value = type;

    var link = draw_service_link+"display_send_types.php?type="+value;
    process_url(link,"send_type_container");
}


function validate_form()
{
    var i;
    for(i=0;i<id_array.length;i++)
    {
        element_id = id_array[i];
        type = type_array[i];
        value = document.getElementById(element_id).value;
        document.getElementById(element_id).style.border='1px solid #cccccc';
        var validate_result = return_validate_result(value,type);
        if(!validate_result)
        {
            alert("Please fill all required fields ("+element_id+")");
            document.getElementById(element_id).style.border='2px solid #FF0000';
            document.getElementById(element_id).focus();
            return false;
        }
    }
    return true;
}

function confirm_link(link,message)
{
    if(confirm(message))
    {
        window.location.href=link
    }
}

function return_validate_result(value,type)
{
    var myRegxp;
    switch(type)
    {
        case 'hidden': return true; break;
        case 'enum':
        case 'varchar':
                if(value.length<=0){ return false; break; }
                myRegxp = /[0-9a-zA-Z]/;
                return myRegxp.test(value);
                break;
        case 'text': return true; break;
        case 'int':
        case 'smallint':
        case 'bigint':
        case 'float':
              if(value.length<=0){ return false; break; }
              return isNan(value);
    }
}
function set_service_links(draw_url,service_url)
{
    draw_service_link = draw_url;
    process_service_link = service_url;
}

function set_language(lang)
{
    language = lang;
}

function move_to(step_no,all_steps) //If all_steps is 0 then no steps will be hiden.
{
//    if(is_box_empty("distance", "Please select your details above to book your reservation.")){ return false; }
    document.getElementById("step_"+step_no).style.display = 'block';
    for(i=1;i<all_steps;i++)
    {
        if(i==step_no){ 
            continue;
        }
        document.getElementById("step_"+i).style.display = 'none';
    }
}

function validation(form_name)
{
    for(i=0; i<document.getElementById(form_name).elements.length; i++)
    {
        curr_element = document.getElementById(form_name).elements[i];
        if(curr_element.name=='book'||curr_element.name=='complete'||curr_element.name=='discount_code') // eger element submit veya surname ise onlari atlar validasyondan
        {
            continue;
        }
        
        if(curr_element.value==''){ // eger value si boş ise, false geri döndürür bu da formu submit yapmaz
            alert("Please fill all the required fields.");
            document.getElementById(curr_element.id).focus();
            return false;
        }
    }
    return true;
}

function return_available_vehicle()
{
    set_value_id("distance", "5");
    var link = draw_service_link+"return_available_vehicle.php?language="+language;

    link += return_as_parameter("passenger_no");
    link += return_as_parameter("distance");
    link += return_as_parameter("small_luggage");
    link += return_as_parameter("medium_luggage");
    link += return_as_parameter("big_luggage");
    link += return_as_parameter("trip_type");
    link += return_as_parameter("service_number");
    link += return_as_parameter("discount");
    
	process_url(link,"analyse_result");
}

function display_passenger_details(timeout)
{
    var link = draw_service_link+"passenger_details.php?language="+language;

    link += return_as_parameter("passenger_no");

    if(timeout==1)
    {
        setTimeout('process_url("'+link+'","passenger_details")',1000);
    }
    else
    {
        process_url(link,"passenger_details");
    }
}

function book_now()
{
    var passengers_qstring = return_passenger_details_as_query_string("book_form");
    validation_result = validation("book_form");
    if(validation_result==false){ return; }
    var link = process_service_link+"booking_add.php?language="+language;


    link += return_as_parameter("from");
    link += return_as_parameter("to");
    link += return_as_parameter("oneway_pickup_date");
    link += return_as_parameter("return_pickup_date");
    link += return_as_parameter("oneway_pickup_hour");
    link += return_as_parameter("oneway_pickup_minute");
    link += return_as_parameter("return_pickup_hour");
    link += return_as_parameter("return_pickup_minute");
    link += return_as_parameter("name");
    link += return_as_parameter("surname");
    link += return_as_parameter("phone");
    link += return_as_parameter("email");
    link += return_as_parameter("vehicle_id");

    link += return_as_parameter("pickup_hotel");
    link += return_as_parameter("pickup_address");
    link += return_as_parameter("special_requests");

    link += return_as_parameter("passenger_no");
    link += return_as_parameter("distance");
    link += return_as_parameter("small_luggage");
    link += return_as_parameter("medium_luggage");
    link += return_as_parameter("big_luggage");
    link += return_as_parameter("trip_type");
    link += return_as_parameter("service_number");
    link += return_as_parameter("total_price");

    link += passengers_qstring;

	process_url(link,"booking_container");
}

function luggage_value_change(luggage_id,prefix)
{
    var current_value = document.getElementById(luggage_id).value;
    if(prefix=="+")
        current_value++;
    else
        current_value--;
    document.getElementById(luggage_id).value = current_value;
    return_available_vehicle();
}

function hide(div_id)
{
    document.getElementById(div_id).style.display='none';
}

function show(div_id)
{
    document.getElementById(div_id).style.display='inline';
}

function return_as_parameter(input_id)
{
	var elem = document.getElementById(input_id);
	var param = "&"+input_id+"="+elem.value;
	return param;
}

function validate_register_form()
{
	if(is_box_empty("address_info","Please fill required boxes")) { return false; }
	if(is_box_empty("authorized_person","Please fill required boxes")) { return false; }
	if(is_box_empty("cell_phone","Please fill required boxes")) { return false; }
	if(is_box_empty("company_name","Please fill required boxes")) { return false; }
	if(is_box_empty("company_phone","Please fill required boxes")) { return false; }
	if(is_box_empty("country","Please fill required boxes")) { return false; }
	if(is_box_empty("district","Please fill required boxes")) { return false; }
	if(is_box_empty("email","Please fill required boxes")) { return false; }
	if(is_box_empty("username","Please fill required boxes")) { return false; }

}


function send_confirmation()
{

    // Personal Details


    if(is_box_empty("name","Please fill required boxes")) {
        return false;
    }


    if(is_box_empty("surname","Please fill required boxes")) {
        return false;
    }


    if(is_box_empty("phone","Please fill required boxes")) {
        return false;
    }


    if(is_box_empty("email","Please fill required boxes")) {
        return false;
    }


    if(is_box_equal("pickup_location","-1","Please fill required boxes")) {
        return false;
    }


    if(is_box_equal("dropoff_location","-1","Please fill required boxes")) {
        return false;
    }


    if(is_box_equal("vehicle_type","-1","Please fill required boxes")) {
        return false;
    }


    if(is_box_equal("people","-1","Please fill required boxes")) {
        return false;
    }


	


    var xml_generator_link = service_link + "generate_booking_xml.php";


    var link = service_link+"booking_add.php?s=1&language="+language;





    link += return_as_parameter("pickup_location");


    link += return_as_parameter("dropoff_location");


    link += return_as_parameter("pickup_date");


    link += return_as_parameter("dropoff_date");


    link += return_as_parameter_two("pickup_hour","pickup_minute",":","pickup_time");


    link += return_as_parameter_two("dropoff_hour","dropoff_minute",":","dropoff_time");


    link += return_as_parameter("name");


    link += return_as_parameter("surname");


    link += return_as_parameter("phone");


    link += return_as_parameter("email");


    link += return_as_parameter("vehicle_type");


    link += return_as_parameter("service_type");


    link += return_as_parameter("people");


    link += return_as_parameter("customer_id");


		


	


    // If all the boxes are not empty


    setTimeout('process_url("'+link+'","booking_form");',100);


    setTimeout('process_url("'+xml_generator_link+'","booking_form");',1000);

}

function return_as_parameter(input_id)
{
    var elem = document.getElementById(input_id);
    var param = "&"+input_id+"="+elem.value;
    return param;
}


function return_as_parameter_two(input_id,input2_id,separator,param_id)
{
    var elem1 = document.getElementById(input_id);
    var elem2 = document.getElementById(input2_id);

    var total = elem1.value+separator+elem2.value;
    var param = "&"+param_id+"="+total;
    return param;
}

function set_value_id(field_id,new_value)
{
    document.getElementById(field_id).value = new_value;
}

function change_cities(selected_value)


{


    var city_from = document.getElementById("dropoff_city");


    city_from.value = selected_value;


    city_from.disabled = 'true';


}





function is_box_empty(input_id,error_message)


{


    var elem = document.getElementById(input_id);


    if(elem.value=='')


    {


        alert(error_message);


        elem.focus();


        return true;


    }


    else


    {


        return false;


    }


}

function is_hidden_empty(input_id,error_message)
{
    var elem = document.getElementById(input_id);
    if(elem.value=='')
    {
        alert(error_message);
        return true;
    }
    else
    {
        return false;
    }
}





function is_box_equal(input_id,value,error_message,focus)
{
    var elem = document.getElementById(input_id);
    if(elem.value==value)
    {
        alert(error_message);
        if(focus==1){ elem.focus(); }
        return true;
    }
    else
    {
        return false;
    }
}

function return_passenger_details_as_query_string(form_name)
{
    var return_query = "";
    for(i=0; i<document.getElementById(form_name).elements.length; i++)
    {
        curr_element = document.getElementById(form_name).elements[i];
        var element_arr = curr_element.name.split('_');
        if(element_arr[0]=="ptitle"||element_arr[0]=="pname"||element_arr[0]=="psurname") // eger element submit veya surname ise onlari atlar validasyondan
        {
            return_query += "&"+curr_element.name+"="+curr_element.value;
        }

    }
    return return_query;
}



function set_service_link(url)
{
    service_link = url;
}

function set_language(lang)
{
    language = lang;
}


