// JavaScript Document
//var jf = "../lib/jproc.php";
var jf = "js/js.php";

function initDoc(){

    $.ajaxSetup({
	timeout:60000
    });

    $(".tabs").tabs();
	
    $(".datepicker").datepicker({
        dateFormat: "dd.mm.yy",
        dayNamesMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
        monthNames: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
        firstDay: 1
    });

	
    $("#dlgAuth").dialog({
        autoOpen: true,
        resizable: false,
        width: 400,
        modal: true,
        draggable: false,		
        buttons:{ "Ok": function (){
            authLogin();
        }
        }
    });

    $("#dialog").dialog({
        autoOpen: false,
        resizable: false,
        minWidth: 400,
        width: "auto",
        modal: true,
        draggable: false,
        buttons:{ Cancel: function (){ $(this).dialog("close"); } }
    });
	
	$("input[id*=auth]").keypress(function(event){authKP(event);});
	//if(obj.checked) alert("checked");
//	$("#authSave").click(
//			function(self){
//				//authSV(sender);
//				if(self.checked) setCookie("authSave","save", 1);
//				else setCookie("authSave","nosave", 1);
//			});
	$("#authLogin").focus();
	authLoad();
	
}

function authLogin(){
    var a = $("#authLogin").val();
    var b = $("#authPwd").val();
	authSave();
	try{
    	$.post(jf,{ type: "login", a: a, b: b }, function (data){ window.location.reload(false); });
	}catch(err){alert(err);}
}

function authKP(event){
    if (event.keyCode == 13){
        authLogin();
    }
}

function authLoad(){	
	if(getCookie("authSave")=="save"){		
		$("#authSave").attr("checked","checked");
		$("#authLogin").val(getCookie("authLogin"));
		$("#authPwd").val(getCookie("authPwd"));		
	}
	 
}

function authSave(){
	var s = $("#authSave").val();
	if(s=="save"){
		setCookie("authSave","save", 1);
		setCookie("authLogin", $("#authLogin").val(), 1); 
		setCookie("authPwd", $("#authPwd").val(), 1);
		
	}	
}

function authClear(){
		setCookie("authSave","", 1);
		setCookie("authLogin", "", 1); 
		setCookie("authPwd", "", 1);	
}

function authCB(obj){
	if(obj.checked) {
		setCookie("authSave","save", 1);
		$("#authSave").val("save");
	}else {
		$("#authSave").val("nosave");
		setCookie("authSave","nosave", 1);
		setCookie("authLogin", "", 1); 
		setCookie("authPwd", "", 1); 
	}
}

function currDo(xEvent){
	switch (xEvent){
		case "list":
			$.post(jf,{ type: "curr_list"}, 
				function(data){ 
					window.location.reload(false);
					$("#currdiv").html(data);
					//alert(data);
				});
		break;		
	}
}

function currHist(xCurr){
			$.post(jf,{ type: "curr_hist",a:xCurr}, 
				function(data){ 
					window.location.reload(false);
					$("#currHist").html(data);
					//alert(data);
				});	
}


function currAdd(xCurr, xHtm){
	showDialog("Курс Валюты "+xCurr, xHtm, "stats");
	$("#dialog").dialog({ buttons:{
		"Закрыть": function (){ $(this).dialog("close"); },
		"Изменить": function (){
			var rate = $("#newcyrr").val();
			var xDate =  $("#currDate").val();
			$.post(jf,{ type: "curr_add", a: xCurr, b: rate, c:xDate },
					function (data){
						if (isNaviError(data)){ showError(data); } else{
							window.location.reload(false);
						}
					});
					

		}
	}
	});	
}

function sysDo(xEvent){
    var xType = "sys_" + xEvent;
    switch (xEvent){
        case "newpwd":
            var htm = "<br>Новый пароль <input id=newpwd type=password>";
            showDialog("Изменить пароль", htm, "lock");
            $("#dialog").dialog({ buttons:{
                "Закрыть": function (){ $(this).dialog("close"); },
                "Изменить": function (){
                    var pwd = $("#newpwd").val();
                    $.post(jf,{ type: "sys_newpwd", a: pwd },
							function (data){
							    if (isNaviError(data)){ 
									//$(this).dialog("close");
									showError(data); 
								} 
								else{
									authClear();
							        window.location.reload(false);
								}
							});

                }
            }
            });
            break;
        case "expirepwd":
			var msg = "Для обеспечения безопастности<br>- необходимо изменить пароль.<br><br>Введите <b id=red>Новый</b> пароль <input id=newpwd type=password>";
			var htm = "<table><tr valign=top><td><img src=img/lock.png><td width=15><td>" + msg + "</table>";
			$("#dlgExpire").html(htm);
			$("#dlgExpire").dialog({
				autoOpen: true,
				minWidth: 400,
				width: "auto",
				modal: true,
				draggable: false,				
				title: "Пароль устарел!",
				buttons:{ 
					"Закрыть": function (){ 
						sysDo('logout');
						$(this).dialog("close");
						
					}, 
					"Изменить": function (){
						var pwd = $("#newpwd").val();
						$.post(jf,{ type: "sys_newpwd", a: pwd },
							function (data){
								if (isNaviError(data)){ 
									showError(data); 
								}else{ 
									authClear();
									window.location.reload(false);
									sysDo('logout');
									$(this).dialog("close");										 
								}

						});	
				 	}
				 }
			})

            break;			
        case "about":
            $.post(jf,{ type: xType },
				   function (data){ showDialog("О Системе", data, "ad"); }
				);
            break;			
        case "rep_bal":
            $.post(jf,{ type: "rep_bal"}, 
				   function(data){ 
						window.location.reload(false);
						$("#docdiv").html(data);
						
					});
            break;
        case "feedback":
            $.post(jf,{ type: "sys_feedback_dlg"}, 
				   function(data){ 
						showDialog("Обратная связь", data, "send");
							$("#dialog").dialog("option", "buttons",{
								"Закрыть": function (){ $(this).dialog("close"); },
								"Отправить": function (){
									var msg = $("#fbText").val();
									closeDialog();
									$.post(jf,{ type: "sys_feedback",a:msg}, 
										function(data){
											showDialog("Обратная связь", "Ваше сообщение отправленно!", "ok");										  
										});	
									
								}
							
							});						
					});
            break;			
        default:
            $.post(jf,{ type: xType },
				   function (data){
				       if (isNaviError(data)){ showError(data); } else{
				           window.location.reload(false);
				       }
				   });
    }
}


function setCust(xCust){
    $.post(jf,{ type: "sys_custset", a: xCust },
		function (){
		    window.location.reload(false);
		});
}

function orderDo(xEvent){
    var xType = "order_" + xEvent;
    switch (xEvent){
        case "list":
            $.post(jf,{ type: "order_list" },
				function (data){ showDialog("Заказы ...", data, "palet") });
            break;
        default:
            $.post(jf,{ type: xType },
				   function (data){
				       if (isNaviError(data)){ showError(data); } else{
				           window.location.reload(false);
				       }
				   });
    }
}

function setOrderValue(xEvent, xValue){
	var xType = "order_" + xEvent;
	$.post(jf,{ type: xType, a: xValue },
		function (data){ 
			window.location.reload(false);
		});
}

function shipList(){
    $.post(jf,{ type: "ship_list" },
		function (data){
		    showDialog("Список доставок", data, "cargo");
		});
}

function shipDel(){
    $.post(jf,{ type: "ship_del" }, window.location.reload(false));
}

function shipAdd(a){
    $.post(jf,{ type: "ship_add", a: a }, window.location.reload(false));
    closeDialog();

}

function shipDlg(){
    var str = "<b>После отгрузки заказ не больше редактируеться!!</b>";
    str = str + "";
    showDialog("Отгрузка заказа", str, "cargo");

}

function setOrder(xNo){
    $.post(jf,{ type: "setOrder", a: xNo }, function (){
        closeDialog();
        window.location.reload(false);
    });
}

function repBalDo(){
    var a = $("#dateFrom").val();
    var b = $("#dateTo").val();
    $.post(jf,{ type: "rep_bal", a: a, b: b, c:"show" },
			function (data){
			    $("#docdiv").html(data);
			});
}

function showHist(doc){
    var b = $("#dateFrom").val();
    var c = $("#dateTo").val();
    $.post(jf,{ type: "hist", a: doc, b: b, c: c },
	   function (data){
	       $("#docdiv").html(data);
	   });

}

function histDo(doc){
    $.post(jf,{ type: "hist", a: doc },
			function (data){
			    $("#docData").html(data);
			    window.location.reload(false);
			});
}

function histCard(a){
    $.post(jf,{ type: "hist_card", a: a },
			function (data){
			    showDialog("Документ: " + a, data, "inv");
			});
}


function getItemData(){
    var a = $("#itemCode").val();
    var b = $("#itemDesc").val();
    var c = $("#itemBrand").val();
    $("#itemTable").html("<img src=img/ajax.gif>");
    $.post(jf,{ type: "item", a: a, b: b, c: c },
		   	function (data){ 
		   	if (isNaviError(data)){ 
				$("#itemTable").html("");
				showError(data); 
			} else{	   	        
				$("#itemTable").html(data); 		   	        
		   	}


				
			});
};

function getReplData(xRepl){
    $.post(jf,{ type: "repl", a: xRepl },
		   	function (data){
		   	    $("#itemTable").html(data);
		   	});
};

function getCrossData(xCross){
    $.post(jf,{ type: "crossItem", a: xCross },
		   	function (data){
		   	    $("#crossTable").html(data);
		   	});
};

function getCrossList(){
    var a = $("#itemCross").val();
    $("#crossTable").html("<img src=img/ajax.gif>");
    $.post(jf,{ type: "cross", a: a },
		   	function (data){ 
			if (isNaviError(data)){ 
				$("#crossTable").html(""); 
				showError(data); 
			} else{	   	        
				$("#crossTable").html(data);  		   	        
		   	}
			
			});	
}

function isNaviError(data){
    res = false;
    if (data.indexOf("ER:") == 0){
        res = true;
    }
    return res;
//	return true;
}

function showError(msg){
//	closeDialog();
    $.post(jf,{ type: "lang", a: msg },
		function (data){
		    //showDialog("Ошибка!", data, "error");    
		var htm = "<table><tr valign=top><td><img src=img/error.png><td width=15><td>" + data + "</table>";
			$("#dlgError").html(htm);
			$("#dlgError").dialog({
				autoOpen: true,
				resizable: false,
				minWidth: 400,
				width: "auto",
				modal: true,
				draggable: false,
				buttons:{ "Закрыть": function (){ $(this).dialog("close"); } }
    		});					
			
		});
}

function showDialog(title, msg, img){
    var htm = "<table><tr valign=top><td><img src=img/" + img + ".png><td width=15><td>" + msg + "</table>";
    $("#dialog").html(htm);
    $("#dialog").dialog("option", "title", title);
    $("#dialog").dialog("option", "buttons",{ "Закрыть": function (){ $(this).dialog("close"); } });
    $("#dialog").dialog("open");
}

function closeDialog(){
    $("#dialog").dialog("close");
}


function getItemOnKey(event){
    if (event.keyCode == 13){
        getItemData();
    }
}

function OnItemClick(xItem){
    getReplData(xItem);
}

function OnCrossClick(xItem){
    getCrossData(xItem);
}

function getCrossOnKey(event){
    if (event.keyCode == 13){
        getCrossList();
    }
}


function OnReplClick(xItem){}

function AddToOrder(xItem){
    var str = "Товар: <b>'" + xItem + "'</b><br><input id=itemQty type=text size=4 value=1 onkeypress=\"addEnter(event,'" + xItem + "');\"/><br>Добавить в заказ?";
    showDialog("Добавить в заказ?", str, "question");

    $("#dialog").dialog("option", "buttons",{
        " Нет ": function (){ $(this).dialog("close"); },
        " Да ": function (){
            var qty = $("#itemQty").val();
            addLine(xItem, qty);
        }

    });
    $("#itemQty").focus();
    $("#itemQty").select();
}

function addEnter(event, xItem){
    if (event.keyCode == 13){
        var qty = $("#itemQty").val();
        addLine(xItem, qty);
    }
}

function addLine(xItem, qty){
    $.post(jf,{ type: "lineAdd", a: xItem, b: qty },
		   	function (data){
		   	    closeDialog();
		   	    if (isNaviError(data)){ showError(data); } else{
		   	        $("#orderLines").html(data);
		   	        $("#tabs").tabs({ selected: 0 });
		   	    }
		   	});
    getOrderTotal();
}

function delLine(xLineNo){
    $.post(jf,{ type: "lineDel", a: xLineNo },
		   	function (data){
		   	    if (isNaviError(data)){ showError(data); } else{
		   	        $("#orderLines").html(data);
		   	    }
		   	});
    getOrderTotal();
}

function upLine(xLineNo, xQty){
    var str = "Изменить Кол-во :<br><input id=itemQty type=text size=4 value=" + xQty + "  onkeypress=\"upEnter(event,'" + xLineNo + "');\" />";
    showDialog("Изменить количество?", str, "question");
    $("#dialog").dialog("option", "buttons",{
        " Нет ": function (){ $(this).dialog("close"); },
        " Да ": function (){
            var qty = $("#itemQty").val();
            if (xQty != qty){ updateLine(xLineNo, qty); }
            else{ $(this).dialog("close"); }
        }
    });
    $("#itemQty").focus();
    $("#itemQty").select();

}

function upEnter(event, xLineNo){
    if (event.keyCode == 13){
        var qty = $("#itemQty").val();
        updateLine(xLineNo, qty);
    }
}

function updateLine(xLine, qty){
    $.post(jf,{ type: "lineUpd", a: xLine, b: qty },
		   	function (data){
		   	    closeDialog();
		   	    if (isNaviError(data)){ showError(data); } else{
		   	        $("#orderLines").html(data);
		   	        getOrderTotal();
		   	    }
		   	});
}

function getOrderTotal(){
    $.post(jf,{ type: "order_total" },
		   function (data){
		       $("#orderTotal").html(data);
		   });
}

function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function getCookie(c_name)
{
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
return "";
}




