var xmlHttp = createXmlHttpRequestObject();
var loginFieldClicked = false;
var passwdFieldClicked = false;

function createXmlHttpRequestObject(){
	var xmlHttp;
	try{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e){
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP");
		for(var i=0;i<XmlHttpVersions.length && !xmlHttp;i++){
			try{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch(e){}
		}
	}
	
	if(!xmlHttp)
		alert("Nie można utworzyć obiektu XMLHttpRequest!");
	else
		return xmlHttp;
}

function sendRequest(link){
	if(link == null)
		alert("link to NULL!!");
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		xmlHttp.open("POST","content.php", true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = handleResponse;
		var ref = link + "";
		xmlHttp.send("page=" + ref);
		$("#loading").css("display","block");
		if(!ref.match("passwd="))
			window.location.hash = ref;
	}
	else{
		setTimeout('sendRequest(\'' + link + '\')', 1000);
	}
}

function saveRequest(action,oid,cid,system,frame,color,foil,link,track,width,height,doors,fill,deadline,adnotations,images){
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		xmlHttp.open("POST","saveorder.php", true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = saveResponse;
		var data = "action=" + action;
		
			data += "&oid=" + oid;
			data += "&cid=" + cid;
			data += "&system=" + system;
			data += "&frame=" + frame;
			data += "&color=" + color;
			data += "&foil=" + foil;
			data += "&link=" + link;
			data += "&track=" + track;
			data += "&width=" + width;
			data += "&height=" + height;
			data += "&doors=" + doors;
			data += "&fill=" + fill;
			data += "&deadline=" + deadline;
			data += "&adnotations=" + adnotations;
			data += "&images=" + images;
			
		xmlHttp.send(data);
	}
	else{
		setTimeout('saveRequest()', 1000);
	}
}

function saveRequest2(action,oid,cid,frame,color,filling,dimensions,deadline,adnotations,images){
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		xmlHttp.open("POST","saveorder.php", true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = saveResponse;
		var data = "action=" + action;
			data += "&oid=" + oid;
			data += "&cid=" + cid;
			data += "&frame=" + frame;
			data += "&color=" + color;
			data += "&filling=" + filling;
			data += "&dimensions=" + dimensions;
			data += "&deadline=" + deadline;
			data += "&adnotations=" + adnotations;
			data += "&images=" + images;
		
		xmlHttp.send(data);
	}
	else{
		setTimeout('saveRequest2()', 1000);
	}
}

function handleResponse(){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			try{
				var xmlResponse = xmlHttp.responseText;
				document.getElementById("content").innerHTML = xmlResponse;
				/*
				var links = document.getElementsByTagName("a");
				for(var i=0;i<links.length;i++){
					links[i].onclick = function(){
						sendRequest(this.href,null);
						return false;
					}
				}
				*/
				$("#content a:not(.outer)").bind("click",function(){sendRequest($(this).attr("href"),null); return false;});
					// REFRESHING CONTENT !!!!
					if($("#mapCanvas").length > 0){
							var zoom = 14;

							if (GBrowserIsCompatible()) {
								map = new GMap2(document.getElementById('mapCanvas'));
								map.addControl(new GSmallMapControl());
						
									coordinates = new GLatLng(52.1807408,20.8773588);
									marker = new GMarker(coordinates);
									map.addOverlay(marker);
						
									map.setCenter(coordinates , zoom);
												console.log("Łorks");
						
								}
								else {
									console.log("Not compatibile");
								}

					}
					if($("#vars").length > 0){
						switch($('#vars input[name="formtype"]').val()){
							case 'ORDERDETAILS': load_form_data(); break;
							case 'NEWORDER': load_new_form(); break;
							case 'NEW_KITCHEN_ORDER': load_new_kitchen_form(); break;
							case 'KITCHEN_ORDER_DETAILS': load_kitchen_form_data(); break;
						}
					}
					
					
				loginFieldClicked = false;
				passwdFieldClicked = false;
				document.getElementById("alertcontainer").innerHTML = "";
				$("#loading").css("display","none");
				$(document).ready(function(){
					var checkdate = new Date();
					var daystoadd = 0;
					while(daystoadd < 4){
						checkdate.setDate(checkdate.getDate() + 1);
						if(checkdate.getDay() != 6 && checkdate.getDay() != 0)
							daystoadd++;
					}
					$("#deadline").datepicker({ dateFormat: 'yy-mm-dd',minDate: checkdate, beforeShowDay: $.datepicker.noWeekends, firstDay: 1});
					
					new AjaxUpload('images_button', {
					  // Location of the server-side upload script
					  // NOTE: You are not allowed to upload files to another domain
					  action: 'uploadhandler.php',
					  // File upload name
					  name: 'userfile',
					  // Additional data to send
					  autoSubmit: true,
					  responseType: false,
					  onChange: function(file, extension){},
					  onSubmit: function(file, extension){
					  	$("#images td.notif").html('<div class="image_progress_bar">wczytuję obrazek...</div>');},
					  onComplete: function(file, response) {
					  	$("#images td.notif").html("");
						$("#images #images_container").append('<div><input type="checkbox" checked="checked" /><a href="upload/' + response + '" target="_blank">' + file + '</a></div>');
					  }
					});
					
				});
			}
			catch(e){
				
			}
		}
		else{
			alert("Wystąpił błąd w oczekiwaniu na odpowiedź: " + xmlHttp.statusText);
		}
	}
}
function saveResponse(){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			try{
				var xmlResponse = xmlHttp.responseText;
				if(xmlResponse == "OK"){
					document.getElementById('orderbutton').className = "order_success";
				}
				else{
					document.getElementById('orderbutton').className = "order_failure";
					alert(xmlResponse);
				}
				document.getElementById('orderbutton').onclick = function(){return false;}
			}
			catch(e){
				
			}
		}
		else{
			alert("Wystąpił błąd w oczekiwaniu na odpowiedź: " + xmlHttp.statusText);
			document.getElementById('orderbutton').className = "order_failure";
		}
	}
}

function loginForm(){
	var formLogin = document.getElementById('login').value;
	var formPasswd = document.getElementById('passwd').value;
	sendRequest('panel.html&action=LOGIN&login=' + formLogin + '&passwd=' + formPasswd);

}

function create_progressbar(){
	$("");
}
function remove_progressbar(){
	
}

window.onload = function(){
	if(window.location.hash != ""){
		sendRequest(window.location.hash.substr(1),null);
	}
	else{
		sendRequest('glowna.html',null);
	}
	$("a:not(.outer)").bind("click",function(){sendRequest($(this).attr("href"),$.scrollTo( '#main', 800 ),null); return false;});
}

function update_buttons(){
	var button_container = $("#filling .notif");
	button_container.html("");
	var fill_container_size = $("div.fillarea").length;
	if(fill_container_size > 1){
		for(var i=0;i<fill_container_size;i++){
			var new_button = $("<div class=\"fillbuttons\"></div>");
			new_button.append('<span class="rembutton" onclick="remfill(' + i + ')"></span>');
			if(i == fill_container_size-1)
				new_button.append('<span class="addbutton" onclick="addfill()"></span>');
			button_container.append(new_button);
		}
	}
	else{
		var new_button = $("<div class=\"fillbuttons\"></div>");
		new_button.append('<span class="addbutton" onclick="addfill()"></span>');
		button_container.append(new_button);
	}
}

function update_dimensions_buttons(){
	var button_container = $("#kitchen_frame_dimensions .notif");
	button_container.html("");
	var dimensions_container_size = $("div.dimensions_area").length;
	if(dimensions_container_size > 1){
		for(var i=0;i<dimensions_container_size;i++){
			var new_button = $("<div class=\"dimensions_buttons\"></div>");
			new_button.append('<span class="rembutton" onclick="rem_dimensions(' + i + ')"></span>');
			if(i == dimensions_container_size-1)
				new_button.append('<span class="addbutton" onclick="add_dimensions()"></span>');
			button_container.append(new_button);
		}
	}
	else{
		var new_button = $("<div class=\"dimensions_buttons\"></div>");
		new_button.append('<span class="addbutton" onclick="add_dimensions()"></span>');
		button_container.append(new_button);
	}
}


function addfill(){
	var fill_container = $("#fillcontainer");
	var new_fill = $("<div class=\"fillarea\"></div>");
	var fill_container_size = $("div.fillarea").length;
	new_fill.html('<input type="text" class="dimensions" onchange="check_filling()" id="fill' + fill_container_size + '"> &nbsp; sztuk <input type="text" class="dimensions" onchange="check_filling()" id="quantity' + fill_container_size + '">');
	fill_container.append(new_fill);
	update_buttons();
}

function add_dimensions(){
	var dimensions_container = $("#dimensions_container");
	var new_dimensions = $("<div class=\"dimensions_area\"></div>");
	var dimensions_container_size = $("div.dimensions_area").length;
	new_dimensions.html('');
	new_dimensions.append('<div class="dimensions_helpbox1">Wys.&nbsp;<input type="text" class="vshort">Zawias&nbsp;<input type="text" class="vshort"><br>Szer.&nbsp;<input type="text" class="vshort">Zawias&nbsp;<input type="text" class="vshort"></div>');
	new_dimensions.append('<div class="dimensions_helpbox2">Ilość ramek<br><input type="text" class="vshort"></div>');
	
	dimensions_container.append(new_dimensions);
	update_dimensions_buttons();
}
function rem_dimensions(arg){
	$("#dimensions_container .dimensions_area:eq(" + arg + ")").remove();
	update_dimensions_buttons();
}

function remfill(arg){
	$("#fillcontainer .fillarea:eq(" + arg + ")").remove();
	update_buttons();
}
function loginFieldClick(){
	if(!loginFieldClicked){
		$("#login").css("background-image","url('images/input_bg.png')");
		loginFieldClicked = true;
	}
}
function passwdFieldClick(){
	if(!passwdFieldClicked){
		$("#passwd").css("background-image","url('images/input_bg.png')");
		passwdFieldClicked = true;
	}
}
function saveNewPasswd(){
	$.post("changepasswd.php",$("#changepasswdarea input").serialize(),
	function(data){
		if(data == "ok")
			$("#changepasswdarea").html("Zapisano nowe hasło").addClass("psswdChange_success");
		else
		 	$("#changepasswdarea").html("Nieprawidłowe hasło, bądź hasła nie są takie same").addClass("psswdChange_fail");
	});

}

