//jQuery.noConflict();
//  глобальные переменные
var SessionData = null;


// JScript File
function GetSessionParam() {
	var global;

	jQuery.ajax({
		data: {
			action: "getsessionparam"
		},
		type: "get",
		url: "./requests/AndersenWebDataGrid.ashx",
		dataType: "json",
		async: false,
		cache: false,
		success: function(json) { //debugger;
			//alert(text);
			global = json;
		},
		error: function(obj) {
			debugger;
			alert("Премия. Подключение к базе отсуствует. Проверьте подключение к интернету.");
		}
	});
	return global;
}

function InitConnectionTest() {
//	if ($(".timer_hidden") == null) return;
//	// Проверка на подключение
//	$(".timer_hidden").everyTime(20000, 'timer2', function(i) {
//		var obj = this;
////		if (i % 10 == 0) {
//			//debugger;
//			$.ajax({
//				data: { action_test: "testconnection" },
//				url: "./requests/AndersenWebDataGrid.ashx",
//				dataType: "text",
//				type: "get",
//				success: function(msg) {
//					if (msg != "") {
//						WaitScreenShow();
//						$("#spnMessage").text(msg);
//					} else {
//						WaitScreenHide();
//						$("#spnMessage").text('Загрузка');
//					}
//				},
//				error: function(msg) {
//					WaitScreenShow();
//					$("#spnMessage").text("Отсуствует подключение к базе данных.");
//				}
//			});
//		}
//	});
}

function GetUserName(object, id)
{
    if(object != null){ 
	    document.getElementById(id).innerHTML = object[0]["username"];
    }
}

function SetSessionParam(type)
{ 
    var result = null;
    if(type != "logoff"){
        result = "ok";
        var login = jQuery("#inptLogin").val();
        var password = jQuery("#inptPassword").val();              
        jQuery.ajax({
            data: {
                action: "addsessionparam",
                "userlogin": login,
                "userpassword": password
            },
            type: "get",
            url: "./requests/AndersenWebDataGrid.ashx",
            dataType: "json",
            success: function(json){
            },
            error: function(obj){
                alert('Премия. Подключение к базе отсуствует. Проверьте подключение к интернету.');
                result = null;
            }
        });
    }
    else{
        result = "ok";
        jQuery.ajax({
            data: {
                action: "deletesessionparam"
            },
            type: "get",
            url: "./requests/AndersenWebDataGrid.ashx",
            dataType: "text",
            success: function(text){
            },
            error: function(obj){
                alert('error');
                result = null;
            }
        });
    }     
    return result;  
} 
		
function GetAdressList()
{
    var adresslist = null;
    jQuery.ajax(
        {
        data: {
        action: "getadresslist"
        },
        type: "get",
        url: "./requests/AndersenWebDataGrid.ashx",
        dataType: "json",
        async: false,
        cache: false,
        success: function(adresslist){
            var str = null;
            for(var i = 0;i<adresslist.length;i++){
                str = adresslist[i]["BranchAddress"];
                if(str != ""){
                    var sel = document.getElementById("ordershipaddress");
                    jQuery("<option></option>").attr("value", adresslist[i]["Id"]).html(str).appendTo(sel);   
                }
            }

        },
        error: function(obj, obj2, errTxt){
            alert('Ошибка подключения к базе');
        }
    }
    );
}


function GetFilialListForSource()
{
    var adresslist = null;
    jQuery.ajax(
        {
        data: {
        action: "getfilialnamelist",
        wherepart: "AND "
        },
        type: "get",
        url: "./requests/AndersenWebDataGrid.ashx",
        dataType: "json",
        async: false,
        cache: false,
        success: function(adresslist){//debugger;
            var str = null;
            var sel = document.getElementById("ordershipfilials");
            jQuery(sel).html("");
            jQuery("<option></option>").appendTo(sel);
            for(var i = 0;i<adresslist.length;i++){
                str = adresslist[i]["BranchName"];                
                if(str != ""){                    
                    jQuery("<option></option>").attr("value", adresslist[i]["Id"].toUpperCase()).html(str).appendTo(sel);   
                }
            }

        },
        error: function(obj, obj2, errTxtx){
            alert('Ошибка подключения к базе');
        }
    }
    );
   }
   
function fillWarehouse() {
    var adresslist = null;
    jQuery.ajax(
        {
            data: {
                action: "getwarehousenamelist",
                filial: jQuery("#ordershipfilials").val()
            },
            type: "get",
            url: "./requests/AndersenWebDataGrid.ashx",
            dataType: "json",
            async: false,
            cache: false,
            success: function(adresslist){ //debugger;
                var str = null;
                var sel = document.getElementById("warehouse");
                jQuery(sel).html("");
                jQuery("<option value='0'></option>").appendTo(sel);
                for(var i = 0;i<adresslist.length;i++){
                    str = adresslist[i]["Name"];                
                    if(str != ""){                    
                        jQuery("<option></option>").attr("value", adresslist[i]["Id"].toUpperCase()).html(str).appendTo(sel);   
                    }
                }

            },
            error: function(obj){//debugger;
                alert('Ошибка подключения к базе');
            }
        }
    );    
}

function GetUserAddressesList(userId)
{
    var adresslist = null;
    jQuery.ajax(
        {
        data: {
        action: "getuseraddresses",//"getuseraddresses",
        userid: userId
        },
        type: "get",
        url: "./requests/AndersenWebDataGrid.ashx",
        dataType: "json",
        async: false,
        cache: false,
        success: function(adresslist){ //debugger;
            var str = null;
            var sel = document.getElementById("usershipaddress");
            //jQuery("<option></option>").appendTo(sel);
            for(var i = 0;i<adresslist.length;i++){
                str = adresslist[i]["Name"];                
                if(str != ""){                    
                    jQuery("<option></option>").attr("value", adresslist[i]["Id"]).html(str).appendTo(sel);   
                }
            }

        },
        error: function(obj){
            alert('Ошибка подключения к базе');
        }
    }
    );
}

function GetCompanyAddressesList(compId)
{
    var adresslist = null;
    jQuery.ajax(
        {
        data: {
        action: "getcompanyaddresses",//"getuseraddresses",
        orgid: compId
        },
        type: "get",
        url: "./requests/AndersenWebDataGrid.ashx",
        dataType: "json",
        async: false,
        cache: false,
        success: function(adresslist){ //debugger;
            var str = null;
            var sel = document.getElementById("usershipaddress");
            jQuery(sel).html("");
            //jQuery("<option></option>").appendTo(sel);
            for(var i = 0;i<adresslist.length;i++){
                str = adresslist[i]["Name"];                
                if(str != ""){                    
                    jQuery("<option></option>").attr("value", adresslist[i]["Id"]).html(str).appendTo(sel);   
                }
            }

        },
        error: function(obj){
            alert('Ошибка подключения к базе');
        }
    }
    );
}
        
function ForEach(mas,splitter)
{
    var masStr = "";
    for(var key in mas)
        masStr += mas[key] + splitter;
    masStr = masStr.substring(0,masStr.length-1);
    return masStr;
}

function CallHelp(obj, evt)
{
	var helpId = jQuery(obj).attr("helpid");
	var evt = (evt) ? evt : (window.event) ? event : null;
	var _x = (document.body.clientWidth - evt.clientX > 150) ? evt.clientX + 5 : evt.clientX - 150;
	var _y = evt.clientY + 5;
	jQuery.ajax(
        {
        	data: {
        		action: "gethelp",
        		helpid: helpId
        	},
        	type: "get",
        	url: "./requests/AndersenWebDataGrid.ashx",
        	dataType: "text",
        	async: true,
        	cache: false,
        	success: function(response)
        	{
        		if (response != "false")
        		{
        			jQuery("#help")
                        .text(response)
                        .css("left", _x)
                        .css("top", _y)
                        .css("display", "block");
        		}
        	},
        	error: function(obj)
        	{
        		alert('Ошибка подключения к базе');
        	}
        }
    );
}
function HideHelp() {
    jQuery("#help")
        .text('')
        .css("display", "none");
} 

function InitHelp() {
    jQuery("#Menu img.question")
        .bind("click", function(event) { CallHelp(this, event); })
        .bind("mouseout", function() { HideHelp(); });
} 

function getKey(evt) {
	evt = (evt) ? evt : (window.event) ? event : null;
	if (evt) {
		var cCode = (evt.charCode) ? evt.charCode :
				((evt.keyCode) ? evt.keyCode :
				((evt.which) ? evt.which : 0));
		return cCode; 
	}
}

var allSpacesRe = /\s+/g;
var leadingSpacesRe = /^\s+/;
var trailingSpacesRe = /\s+$/;

function removeSpaces(s) { return s.replace(allSpacesRe, ""); }
function trimLeading(s) { return s.replace(leadingSpacesRe, ""); }
function trimTrailing(s) { return s.replace(trailingSpacesRe, ""); }

function trim(s) { return trimLeading(trimTrailing(s)); }

function ConvertToMoney(s)
{
	//debugger;
	var length = s.toString().length;
	var position = 1;
	if (length < 4) { return s; }
	if (length > 3 && length < 7)
	{
		return s.toString().substr(0, length - 3) + ' ' + s.toString().substr(length - 3, 3);
	}
	if (length > 6 && length < 10)
	{
		return s.toString().substr(0, length - 6) + ' ' + s.toString().substr(length - 6, 3) + ' ' + s.toString().substr(length - 3, 3);
	}
	if (length > 9 && length < 13)
	{
		return s.toString().substr(0, length - 9) + ' ' + s.toString().substr(length - 9, 3) + ' ' + s.toString().substr(length - 6, 3) + ' ' + s.toString().substr(length - 3, 3);
	}
}

// Передаваемая дата должна быть формата yyyy/(.-)mm/(.-)dd или mm/(.-)/dd(.-)yyyy
function CheckDateToCurrentDate(inputDate) {
    // Разбиваем текущую дату
    //debugger;
    if(inputDate == "") { return true; }
    cur_date = new Date();
    //.replace заменяет только первое вхождение(вот такой вот интерестный язык JS :))
    inpDate = new Date(inputDate.replace(".", "-").replace(".", "-"));
    if (NaN == inpDate) {
    	alert("Неизвестный формат даты: '" + inputDate + "'");
    	return false;
    }
    return inpDate >= cur_date;   
}

function RememberMe()
{
	//имя пользователя из куки
	if (jQuery.cookie("premiaUserLogin"))
	{
		jQuery('#inptLogin').val(jQuery.cookie("premiaUserLogin"));
	}
	if (jQuery.cookie("premiaUserMemo"))
	{
		jQuery('#inptPassword').val(jQuery.cookie("premiaUserMemo"));
		//LoginUser();
	}
}

function checkForRemember()
{
	if (jQuery.cookie("premiaUserCheck"))
	{
		jQuery.cookie("premiaUserLogin", jQuery("#inptLogin").val(), { expires: 30 });
		jQuery.cookie("premiaUserMemo", jQuery('#inptPassword').val(), { expires: 30 });
	}
	else
	{
		jQuery.cookie("premiaUserLogin", null);
		jQuery.cookie("premiaUserMemo", null);
	}
}

function ProcessSearchStr(searchString, whereFldName)
{
	var tokens = Array();
	var sqlWhere = "";
	var firstToken = "";
	if (searchString != null && searchString != "")
		var tokens = searchString.split(' ');
	for (i = 1; i < tokens.length; i++)
	{
		sqlWhere = sqlWhere + " AND " + whereFldName + " LIKE '%" + tokens[i] + "%'";
	}
	if (tokens.length > 0)//Первый токен отдаем, чтобы уменьшить нач выборку
		firstToken = tokens[0];
	if (sqlWhere != "")
		sqlWhere = sqlWhere.replace(" AND", ""); //Заменяет первое вхождение
	return { "SqlWhere": sqlWhere, "FirstToken": firstToken };
}

