﻿function facility(id, name, email, lat, lng){
    this.id = id;
    this.name = name;
	this.email = email;
    if(lat && lng){
        this.lat = lat;
        this.lng = lng;
        this.gPoint = new GLatLng(lat, lng);
    }
}

function getFacilityById(facilityId){
    for (var i in facilityList){
        if (facilityList[i].id == facilityId)
            return facilityList[i];
    }
}

facility.prototype.toString = function(){
    return '{id: "'+this.id+'", name: "'+this.name+'", lat: "'+this.lat+'", lng: "'+this.lng+'"}';
}

function getMyCookie(sName) {
    var aCookie = $.cookie(sName);
    return aCookie;
    
    /*
    // cookies are separated by semicolons
    var aCookie = document.cookie.split("; ");
    for (var i=0; i < aCookie.length; i++){
        // a name/value pair (a crumb) is separated by an equal sign
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0]) 
            return unescape(aCrumb[1]);
    }
    // a cookie with the requested name does not exist
    return null;
    */
}

function setMyCookie(sName, sValue){
    $.cookie(sName, sValue, { expires: 7, path: '/'});
    /*
    var date = new Date();
    document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
   */ 
}

function delCookie(sName) {
    $.cookie(sName, null, {path: '/'});
    /*
    document.cookie = sName + "=; expires=Fri, 21 Dec 1976 04:31:24 GMT;";
    */
}

function getSelectedFacilities(){
    var selectedFacilityList = null;
    var aCookie = getMyCookie('facility_name');
    if ((aCookie == null) || (aCookie == "") || (aCookie == "undefined")){
        return null;
    }
    else{
        selectedFacilityList =  eval("new Array(" + aCookie + ")");
        return selectedFacilityList;
    }
}

function saveMails(){
    $("#FacilityMails").val("ad@interlogic.com.ua;");
    /*
    var aSelectedFasilities = getSelectedFacilities();
    if (aSelectedFasilities != null){
        var aStrMails = "";
        for (i in aSelectedFasilities){
            aStrMails += aSelectedFasilities[i].email;
            aStrMails += ";"
        }
        $("#FacilityMails").val(aStrMails); 
    }
    */
}

function saveFacilityList(){
    var aSelectedFasilities = getSelectedFacilities();
    if (aSelectedFasilities != null){
        var aStrFacilities = "";
        for (var i in aSelectedFasilities){
            aStrFacilities += aSelectedFasilities[i].name;
            aStrFacilities += ";"
        }
        $("#FacilityList").val(aStrFacilities); 
    }
}

function addRadioCheckTable(){
    $("#horLine").append("<hr/>");
    $("#buttonsRequest").css("display", "block");
    $("#addedAccom").css("display", "block");
    $("#viewAccom").css("display", "block");
}

function addImageAndTitle(command, facilityId){
    if (command == "add"){
        $("#facilityBtn_" + facilityId).html("<div class='columnTitleRight'>" + gStr1 + "</div><img src='/images/mf_remove.gif' style='width:17px; height:18px; float:right;'/>");
    }
    else if (command == "remove"){
        $("#facilityBtn_" + facilityId).html("<div class='columnTitleRight'>" + gStr2 + "</div><img src='/images/mf_add.gif' style='width:17px; height:18px; float:right;'/>");
    }
}

function addFacilityTitleToRequestList(facility){
    addImageAndTitle("add", facility.id);
    var aCurrentPage = $("#SearchMainPage").val();
    
    var reqListActionsId = "reqListActions_" + facility.id;
    $("#reqList").append("<div class='reqListText' id='" + reqListActionsId + "'></div>");
    
    var reqListActionsHNId = "reqListActionsHN_" + facility.id;
    $("#reqListActions_" + facility.id).append("<div style='width:275px; font-size:10px; float: left; color: white;' id='" + reqListActionsHNId + "'></div>");
    $("#reqListActionsHN_" + facility.id).text("› " + facility.name);  
    
    var reqListActionsTextId = "reqListActionsText_" + facility.id;
    $("#reqListActions_" + facility.id).append("<div id='" + reqListActionsTextId + "' style='cursor:pointer; color: white; font-size:10px;  width:60px; float: left;' onclick='" + "addOrRemoveFromRequestList(" + facility.id + ")'></div>");
    $("#reqListActionsText_" + facility.id).text(gStr4);
}   

function showSelectedFacilities(){
    var selectedFacilities = getSelectedFacilities();
    if (selectedFacilities != null){
        $("#reqList").empty();
        $("#buttonsRequest").css("display","block");
        $("#addedAccom").css("display", "block");
        $("#viewAccom").css("display", "block");
        for (var i in selectedFacilities){
            addFacilityTitleToRequestList(selectedFacilities[i])
        } 
    }
    else{
        $("#reqList").empty();
        $("#reqList").append("<div id='emptyList' class='reqListText'>" + gStr3 + "</div>");
        $("#buttonsRequest").css("display","none");
        $("#addedAccom").css("display", "none");
        $("#viewAccom").css("display", "none");
        $("#horLine").empty();
    }
} 

function addToRequestList(facilityId){
    var aCookie = getMyCookie('facility_name');
    var aEmptyList = false;
    if ((aCookie == null) || (aCookie == "") || (aCookie == "undefined")){
        setMyCookie('facility_name', getFacilityById(facilityId));
        aEmptyList = true;
    }
    else{ // find unique facility by id in f_cookie
        if (aCookie.indexOf(facilityId) == -1){ 
            var aCookieNew = aCookie + "," + getFacilityById(facilityId);
            delCookie('facility_name');
            setMyCookie('facility_name', aCookieNew);
            //alert("Fascility = " + facilityId + "was successfully added");      
        }
        else{
            alert("Fascility = " + facilityId + "is already exist");
            return null;
        } 
    }   
    if (aEmptyList){ 
        $("#reqList").empty();
        addRadioCheckTable();     
    }
    addFacilityTitleToRequestList(getFacilityById(facilityId));
}

function removeFromRequestList(facilityId){
    //debugger;
    var aCookie = getMyCookie('facility_name');
    var facilityList = null;
    var facilityListNew = null;
    var j = -1;
    if ((aCookie == null) || (aCookie == "") || (aCookie == "undefined")){
        alert("any facilities do not exist!!!");
    }
    else{// find unique facility by id in f_cookie and delete it
        if (aCookie.indexOf(facilityId) == -1){ 
            alert("Fascility = " + facilityId + "does not exist");
        }
        else{
            facilityList =  eval("new Array(" + aCookie + ")");
            facilityListNew = new Array(facilityList.length - 1);
            for (i in facilityList){
                if (facilityList[i].id != facilityId){
                    j++;
                    facilityListNew[j] = new facility(facilityList[i].id, facilityList[i].name, facilityList[i].lat, facilityList[i].lng);
                }
            }
            delCookie('facility_name');
            setMyCookie('facility_name', facilityListNew.toString());
            addImageAndTitle("remove", facilityId);
            $("#reqList").empty();
            showSelectedFacilities();
        }
    }
}

function addOrRemoveFromRequestList(facilityId) {
    var aCookie = getMyCookie('facility_name');
    if ((aCookie == null) || (aCookie == "") || (aCookie == "undefined")){
        addToRequestList(facilityId);
    }
    else{
        if (aCookie.indexOf(facilityId) == -1){
            addToRequestList(facilityId);
        }
        else{
            removeFromRequestList(facilityId);
        }
    }
} 

function ajaxGetRowCount()
{
    var queryStr = "?";
    var form = document.forms["searchForm"];
    
    for( var i = 0;i< form.elements.length; i++){
        if (form.elements[i].id == "")
            continue;
        if ((form.elements[i].type == "checkbox") && (!(form.elements[i].checked)))
            continue;
        queryStr += (form.elements[i].id + "=" + escape(form.elements[i].value));
        if (i < (form.elements.length - 1))
            queryStr += '&';
    }
    $.get("/composite-4231.chtm" + queryStr, function(data){
        $('#rowCount').text(data + gStr5);}
    );
}

function translation(lang){
    return;
}

function IsGreater(a,b)
{
    if(a > b) return true;
    else        return false;
}