var global_data = {
	from: "",
	to: "",
	tip: ""
}
var current_active = "";

var colmain = "w";

var global_timer = 0;
var interval_time = 3000;

function validate_email(field)
{

  var apos=$(field).value.indexOf("@");
  var dotpos=$(field).value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2){
        return false;}
  else {return true;}
  
}

function sh(did){	
	var state = $("ci_"+did).readAttribute('s');
	if (state=="o"){
		$("ci_" + did).hide();
		$("sh_link_" + did).className = "c_but show";
		$('ci_'+did).writeAttribute('s','c');
	}
	else {
		$("ci_" + did).show();
		$("sh_link_" + did).className = "c_but hide";
		$('ci_'+did).writeAttribute('s','o');
	}
}


function redir(){
	window.location.href = "/contacts/";
}

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

var f_from = [];
var f_to = [];
var f_tip = [];

function keydown(id){
	var params = $("child_"+id).childElements();
	var ps = params.size();
	var inp = $F(id);
	//alert (inp);
	if (inp != ""){
	//
	for (var i=0; i < ps; i++){
		var curel = params[i];
		var curel_val = curel.innerHTML;
		//alert (curel_val);		
		var input_size = inp.length;		
		var compare_string = curel_val.slice(0, input_size);
		//alert (compare_string);
		//alert(inp.toLowerCase() + " = " + compare_string.toLowerCase());
		if (inp.toLowerCase() != compare_string.toLowerCase()){
			curel.hide();
		}
	}	
	}
	else {
				for (var i=0; i < ps; i++){
					var curel = params[i];
					curel.show();
				}
		}
}

function inp_blur(id){
	$('child_'+id).hide();
	//val = $F(id);
	//if (val in f_from){
	//	//alert ('OE');
	//} else {
	//	//alert ("NOT");
	//}	
}

function cont_enable(){
	$("child_tip").innerHTML = "";
	get_cont(global_data.from);
	$('tip').disabled = false;
	$('tip').value = "";
	
	if (colmain == "w"){
		$('tip').style.color = "#000000";
	}
	else {
		$('tip').style.color = "#FFFFFF";	
	}
	$('a_tip').writeAttribute('act',null);
}

function update_par(id, val, sender){
	//alert (id + " - " + val + " - " + sender);
	//alert (val);
	val = val.replace("&nbsp;"," ");
	$(id).value = val;
	var s = $(sender).readAttribute("s");
	$(id).writeAttribute("s",s);
	global_data[id] = s;
	
	//alert (s);
	
	if (id != "tip"){
		if (test_globals('half')==true){
			cont_enable();
		}
	}
	
	if (id == "from"){
		global_data.tip = "";
		try {
		$("con_all").hide();
		$("compred_all").hide();
		}
		catch (e){}
	}
	
	//if (!test_globals('all')){
	//		alert (Object.toQueryString(global_data));
	//} else {
	//	alert ('good');
	//	alert (Object.toQueryString(global_data));
	//}	
	$("child_"+id).hide();	
	current_active = "";
}

function show_child(el, id){
	var act = $(id).readAttribute('act');
	current_active = $(id).readAttribute('cur');
	if (act == null || act == 'yes'){
		$(el).show();
	}
}

function show_ch(what, id){
	$(what).show();
	//alert (current_active);
	//$("child_" + current_active).hide();
	current_active = id;
}

function read_bl(what){
	var params = $("child_"+what).childElements();
	var ps = params.size();
	for (var i=0; i < ps; i++){
		var curel = params[i];
		//curel.show();
		//f_from[i] = curel.innerHTML;
		f_from.push(curel.innerHTML);
	}
}

function calc_start(){
	var param = {
			"from":$("from").readAttribute('s'),
			"to":$("to").readAttribute('s'),
			"tip":$("tip").readAttribute('s'),
		}
	if (param.from != null && param.to != null && param.tip != null)
	{
		var form = $('calcform');
		//var data = form.serialize();
		var param = {
			"from":$("from").readAttribute('s'),
			"to":$("to").readAttribute('s'),
			"tip":$("tip").readAttribute('s'),
		}
		var data = Object.toQueryString(param);
		var redir = "/calculator/?"+data+"#raschet";
		window.location.href = redir;
	}
	else {
		Modalbox.show($('mes_text'), { title: "Не все данные заполнены верно", width: 300, autoFocusing: false, overlayClose: true,});
	}
}

var cur_block = 1;
var max_blocks = 6;

function timer_conv(next_el){	
				
					$('dot'+cur_block).className = null;
					$('apic'+cur_block).fade({from:1, to: 0, duration:1});	
					//$("head_big_"+cur_block).hide();
					if (next_el == 0){						
						cur_block = 6;
					}
					else if (next_el <= max_blocks){
						cur_block=next_el;								
					}					
					else {
						cur_block = next_el - max_blocks; 
					}
					//alert (cur_block);
					//$("head_big_"+cur_block).show();
					var elem = $('dot'+cur_block);
					elem.className = "active";
					Effect.Pulsate(elem, { pulses: 2, duration: 1.5, from:0.6 });
					$('apic'+cur_block).appear({from:0.4, to: 1.0, duration:1.5});
					
					//main_block
					$("bl"+cur_block).className = "active";					
					var second_block = cur_block+1;
					if (second_block > max_blocks){
						second_block = second_block - max_blocks;
					}
					
					third_block = cur_block + 2;
					if (third_block > max_blocks){
						third_block = third_block - max_blocks;
					}
					$("bl_show_1").innerHTML = $("bl"+cur_block).innerHTML;
					$("bl_show_2").innerHTML = $("bl"+second_block).innerHTML;
					$("bl_show_3").innerHTML = $("bl"+third_block).innerHTML;
					Effect.Shake('bl_show_1',{distance:2, duration:0.1});
					var t1 = setTimeout(function(){
							$('bl_show_2').fade({from:1, to: 0.8, duration:0.4});
							var t2 = setTimeout(function(){
								$('bl_show_2').appear({from:0.8, to: 1, duration:0.4});
								$('bl_show_3').fade({from:1, to: 0.8, duration:0.4});
								var t3 = setTimeout(function(){
									$('bl_show_3').appear({from:0.8, to: 1, duration:0.4});
									},400);
								},400);	
						}, 200);
				
				
			
}

function timer_tick(){	
				if (cur_block < max_blocks){
					$('dot'+cur_block).className = null;
					$('apic'+cur_block).fade({from:1, to: 0, duration:1});	
					//$("head_big_"+cur_block).hide();
					cur_block++;								
					//$("head_big_"+cur_block).show();
					var elem = $('dot'+cur_block);
					elem.className = "active";
					Effect.Pulsate(elem, { pulses: 2, duration: 1.5, from:0.6 });
					$('apic'+cur_block).appear({from:0.4, to: 1.0, duration:1.5});
					
					//main_block
					$("bl"+cur_block).className = "active";					
					var second_block = cur_block+1;
					if (second_block > max_blocks){
						second_block = second_block - max_blocks;
					}
					
					third_block = cur_block + 2;
					if (third_block > max_blocks){
						third_block = third_block - max_blocks;
					}
					$("bl_show_1").innerHTML = $("bl"+cur_block).innerHTML;
					$("bl_show_2").innerHTML = $("bl"+second_block).innerHTML;
					$("bl_show_3").innerHTML = $("bl"+third_block).innerHTML;
					Effect.Shake('bl_show_1',{distance:2, duration:0.1});
					var t1 = setTimeout(function(){
							$('bl_show_2').fade({from:1, to: 0.8, duration:0.4});
							var t2 = setTimeout(function(){
								$('bl_show_2').appear({from:0.8, to: 1, duration:0.4});
								$('bl_show_3').fade({from:1, to: 0.8, duration:0.4});
								var t3 = setTimeout(function(){
									$('bl_show_3').appear({from:0.8, to: 1, duration:0.4});
									},400);
								},400);	
						}, 200);
				}
				else {
					$('dot'+cur_block).className = null;
					$('apic'+cur_block).fade({from:1, to: 0, duration:1});
					//$("head_big_"+cur_block).hide();
					cur_block = 1;									
					//$("head_big_"+cur_block).show();
												
					var elem = $('dot'+cur_block);
					elem.className = "active";
					Effect.Pulsate(elem, { pulses: 2, duration: 1.5, from:0.6 });
					$('apic'+cur_block).appear({from:0.4, duration:1.5});
					//main_block
					$("bl"+cur_block).className = "active";					
					var second_block = cur_block+1;
					if (second_block > max_blocks){
						second_block = second_block - max_blocks;
					}
					
					third_block = cur_block + 2;
					if (third_block > max_blocks){
						third_block = third_block - max_blocks;
					}
					$("bl_show_1").innerHTML = $("bl"+cur_block).innerHTML;
					$("bl_show_2").innerHTML = $("bl"+second_block).innerHTML;
					$("bl_show_3").innerHTML = $("bl"+third_block).innerHTML;	
					Effect.Shake('bl_show_1',{distance:2, duration:0.1});
					var t1 = setTimeout(function(){
							$('bl_show_2').fade({from:1, to: 0.5, duration:0.4});
							var t2 = setTimeout(function(){
								$('bl_show_2').appear({from:0.5, to: 1, duration:0.4});
								$('bl_show_3').fade({from:1, to: 0.5, duration:0.4});
								var t3 = setTimeout(function(){
									$('bl_show_3').appear({from:0.5, to: 1, duration:0.4});
									},400);
								},400);	
						}, 200);
				}
				
			
}


function startAnim(event){
	try {
		if (anim==true){
			global_timer = setInterval(timer_tick, interval_time);
		}
	}
	catch(e) { }
	Event.observe(document, 'click', testclick);
}

function testclick(event){
	var el = event.findElement();
	//alert (current_active);
	if(current_active != ""){
		//alert (current_active);
		if (el.className != "list_element" && (el.id) != current_active && el.readAttribute('cur') != current_active){
			$("child_" + current_active).hide();
			current_active = "";
		}
	}
	
}
// calc 

function cgo(){
	if (!test_globals('all')){
			//alert ("not sent");
			Modalbox.show($('mes_text'), { title: "Не все данные заполнены верно", width: 300, autoFocusing: false, overlayClose: true,});
	}
	else {
		//alert ("send form");
		get_mor_result();
	}
	
}

function load_form_data(){
	var input_data = {
		from: gup('from'),
		to: gup('to'),
		tip: gup('tip')
	}
	if (input_data.from != ""){
		new Ajax.Request(
			"/backend/master.php?action=from_get_city",
			{
				method:"post",
				parameters:{id:input_data.from},
				onSuccess:function(transport){
					var data = transport.responseText.evalJSON();
					$("from").writeAttribute("s", data[0]['FromID']);
					var tfrom = data[0]['FromEngName'];
					$("from").value = tfrom.replace("&nbsp;"," ");
					global_data.from = data[0]['FromID'];
					run_go();
				}
			}
		);
	}
	if (input_data.to != ""){
		new Ajax.Request(
			"/backend/master.php?action=to_get",
			{
				method:"post",
				parameters:{id:input_data.to},
				onSuccess:function(transport){
					var data = transport.responseText.evalJSON();
					$("to").writeAttribute("s", data[0]['ToID']);
					$("to").value = data[0]["ToEngName"];
					global_data.to = data[0]['ToID'];
					run_go();
				}
			}
		);
	}
	
	//alert (Object.toQueryString(input_data));	
	get_from();
	get_to();
	if (global_data.from == "" || global_data.to == ""){
		$('tip').disabled=true;
		$("tip").value = "Недоступно до выбора точек";
		$("a_tip").writeAttribute("act","no");
		$('tip').style.color = "#CCCCCC";		
	}
	if (input_data.tip != "" && input_data.from != ""){
		new Ajax.Request(
			"/backend/master.php?action=select_container",
			{
				method:"post",
				parameters:{id:input_data.tip},
				onSuccess:function(transport){
					var data = transport.responseText.evalJSON();
					
					$("tip").writeAttribute("s", data[0]['FromID']);
					$("tip").value = data[0]["FromEngName"];
					global_data.tip = data[0]['FromID'];
					$('tip').disabled=false;					
					$("a_tip").writeAttribute("act",null);
					$('tip').style.color = "#000000";
					get_cont();
					run_go();
				}
			}
		);
	}
	run_go();
}


function run_go(){
	if (test_globals('all') == true){
		cgo();
	}
}

function test_globals(what){
	if (what == 'half'){
		if (global_data.from != "" && global_data.to != ""){
			return true;
		} else {
			return false;
		}
	} 
	if (what == "all"){
		if (global_data.from != "" && global_data.to != "" && global_data.tip != ""){
			return true;
		} else {
			return false;
		}
	}
}

function get_from(){
	new Ajax.Request(
		"/backend/master.php?action=from_get_city",
		{
			method:"post",
			onSuccess:function(transport){
				var data = transport.responseText.evalJSON();
				var df = data.size();
				var city = "";
				for(var i=0;i<df;i++){
					if (city != data[i]['FromEngName']){ 
						var li = document.createElement('li');
						li.innerHTML = data[i]['FromEngName'];
						li.id = "li_"+data[i]['FromID'];
						li.onclick=function() { update_par("from",this.innerHTML, this.id); };
						li.writeAttribute("s", data[i]['FromID']);								
						li.className = "list_element";
						$("child_from").appendChild(li);
						city = data[i]['FromEngName'];
					}
				}
			}
		}
	);
}

function get_cont(){
	var clause = $F('from');
	clause = clause.replace(" ", "&nbsp;");
	//alert (clause);
	var params = {clause: clause};
	new Ajax.Request(
		"/backend/master.php?action=select_container",
		{
			method:"post",
			parameters: {data:Object.toJSON(params)},
			onSuccess:function(transport){
				var data = transport.responseText.evalJSON();
				var df = data.size();
				//var cont = [];
				for(var i=0;i<df;i++){					
					//if( data[i]['FromEngName'] in cont){
						//alert (cont + " = " + data[i]['FromEngName']);
						var li = document.createElement('li');
						li.innerHTML = data[i]['FromEngName'];
						li.id = "li_"+data[i]['FromID'];
						li.onclick=function() { update_par("tip",this.innerHTML, this.id); };
						li.writeAttribute("s", data[i]['FromID']);								
						li.className = "list_element";
						$("child_tip").appendChild(li);	
						//cont.push(data[i]['FromEngName']);
					//}
				}
			}
		}
	);
}


function get_to(){
	new Ajax.Request(
		"/backend/master.php?action=to_get",
		{
			method:"post",
			onSuccess:function(transport){
				var data = transport.responseText.evalJSON();
				var df = data.size();
				//var city = "";
				for(var i=0;i<df;i++){
					//if (city != data[i]['FromEngName']){ 
						var li = document.createElement('li');
						li.innerHTML = data[i]["ToEngName"];
						li.id = "li_"+data[i]["ToID"];
						li.onclick=function() { update_par("to",this.innerHTML, this.id); };
						li.writeAttribute("s", data[i]["ToID"]);								
						li.className = "list_element";
						$("child_to").appendChild(li);
						//city = data[i]['FromEngName'];
					//}
				}
			}
		}
	);
}

function get_mor_result(){
    var url = "/backend/master.php?action=get_mor_price";
    var param = {
        from: global_data.to,
        cont: global_data.tip
    };
    var jsondata = Object.toJSON(param);	
    new Ajax.Request(
        url,
        {
            method: "post",
            parameters: {data:jsondata},
			onFailure: function(){
				alert ("Error");
			},
            onSuccess: function(transport){
                //$("compred_header").innerHTML = "Перевозка по маршруту "+$("from_top").value+" - "+$("to_top").value+", тип контейнера "+$("cont_top").value;				
                var response ="";
                if (transport.responseText == "0" || transport.responseText == "0"){
                    response = "по запросу";
                }
                else {
                    response = "USD " + transport.responseText;
                }
				$("con_to").innerHTML = $F("to");
				$("con_from").innerHTML = $F("from");
				$("con_tip").innerHTML = $F("tip");
				$("con_price").innerHTML = response;
				$("con_all").show();
				$("compred_all").show();
				//alert (response);
                //$("em_price").innerHTML = response;
                //$("dc_result_top").show();
                //$("send_form").show();
            }
        }
    );
}

function load_compred(){
    var url = "/backend/master.php?action=get_compred";
    var param = {
        module: "mor"
    };
    new Ajax.Request(
        url,
        {
            method: "post",
            parameters: param,
            onSuccess: function (transport){
                var data = transport.responseText.evalJSON();               
                $("compred_sh").innerHTML = data.retval;
            }
        }
    );
}

function email(){
	var address = $F('email_address');
	if (!validate_email('email_address')){
		//$("email_error").innerHTML="E-mail адрес введен некорректно. Проверьте правильность и отправьте форму еще раз.";
		Modalbox.show($('email_error'), { title: "Неверно введен e-mail", width: 300, autoFocusing: false, overlayClose: true,});
	}
	else {		
		var admin_address = $F('admin_email');
		var e_to = $("con_to").innerHTML;
		var e_from = $("con_from").innerHTML;
		var e_price = $("con_price").innerHTML;
		var e_tip = $("con_tip").innerHTML;
		var e_compred = $("compred_sh").innerHTML;
		
		var param = {
                f_email: address,
                //f_text: $("dc_result").innerHTML,
                f_subj: "OOO «Loadstar» - результаты расчета",
				e_to:e_to,
				e_from:e_from,
				e_tip:e_tip,
				e_price: e_price,
				admin_address:admin_address,
				e_compred: e_compred,
            };
            var jsondata = Object.toJSON(param);
            var url = "/backend/master.php?action=send"; //"/backend/sm.php";
            new Ajax.Request(
                url,
                {
                    method: "post",
                    parameters: {data: jsondata},
                    onSuccess: function(transport){
                        var response = transport.responseText;						
                        //alert (response);						
                        if (response == 1){
                           $("thanks_f").show();
                            $('emform').hide();
                        }
						else {
							Modalbox.show("<p>Ошибка. Обратитесь к разработчику.</p>", { title: "Ошибка при отправке сообщения.", width: 300, autoFocusing: false, overlayClose: true,});
						}
                    }
                }

            );
	}
}


function print_this(){
		var leftvar = (screen.width-800)/2;
		var topvar = (screen.height-600)/2;
		var pw = window.open("/myjs/print.html", "pw", "scrollbars=1, status=0, toolbar=0, location=0, resizable=1, height=600, width=800, left="+leftvar+",top="+topvar);
		pw.focus();
		//var wt = pw.document.getElementById("print_content");
		//wt.innerHTML = "write here";
	}
	
function slice(what){
	//alert (what);
	clearInterval(global_timer);
	if (what=="next"){		
		timer_conv(cur_block + 1);		
	}
	if (what=="prev"){		
		timer_conv(cur_block - 1);		
	}
	global_timer = setInterval(timer_tick, interval_time);	
}
function print_cp(){
		var leftvar = (screen.width-800)/2;
		var topvar = (screen.height-600)/2;
		var pw = window.open("/myjs/print_cp.html", "pw", "scrollbars=1, status=0, toolbar=0, location=0, resizable=1, height=600, width=800, left="+leftvar+",top="+topvar);
		pw.focus();
		//var wt = pw.document.getElementById("print_content");
		//wt.innerHTML = "write here";
	}
	
Event.observe(window, 'load', startAnim);
