function makeRequest() {
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
          http_request.overrideMimeType('text/xml'); // Фиксиране на някои проблеми
    }
    else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP.5.0");
       } catch (e) {
           try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
       }
    }
    if (!http_request) {
//        alert('Няма връзка със сървъра, моля опитайте отново.');
        return false;
    }
    return http_request;
}

function updateUDProfile() {
    var getParam = "";
    var myform = document.getElementById("pd_form");
    for (var i=0; i < myform.length; i++) {
       var element = myform.elements[i];
       if(element.type == "text" || element.type == "textarea" || element.type == "password" || element.type == "hidden" || element.name == "city") {
            getParam += "&" + element.name + "=" + encodeURIComponent(element.value);
       }
    }
    getParam = encodeURI(getParam);
    var link_url= "services/UpdateUDProfile.php?submit=submit" + getParam;
    executeGETrequest(link_url,"pageone");
}

function updateT3Profile() {
    var parameters = "";
    var myform = document.getElementById("pd3_form");
    for (var i=0; i < myform.length; i++) {
        var element = myform.elements[i];
        if(element.type == "text" || element.type == "textarea" || (element.type == "checkbox" && element.checked == true) || element.type == "hidden" || element.tagName == "SELECT") {
            parameters += "&" + element.name + "=" + encodeURIComponent(element.value);
        }
    }
    if(document.getElementById("contactPanel2").style.display == "block")
        parameters += "&contact2=1";
    if(document.getElementById("contactPanel3").style.display == "block")
        parameters += "&contact3=1";
    parameters = encodeURI(parameters);
    var link_url= "services/UpdateT3Profile.php?submit=submit";
    executePOSTrequest(link_url,parameters,"tab3");
}

function executePOSTrequest(link_url,params,func) {
    var http_request = makeRequest();
    http_request.open("POST", link_url, true);
    http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")
    if(func == "tab3")
        http_request.onreadystatechange = function() { updateTab3Response(http_request); };
    http_request.send(params);
}

function executeGETrequest(link_url,func) {
    var http_request = makeRequest();
    http_request.open('GET', link_url, true);
    http_request.setRequestHeader('Content-type', 'text/plain;charset=utf-8;');
    if(func == "pageone")
        http_request.onreadystatechange = function() { updateUDProfileResponse(http_request); };
    if(func == "cities")
        http_request.onreadystatechange = function() { citiesResponse(http_request); };
    if(func == "search_cities")
        http_request.onreadystatechange = function() { citiesResponse(http_request); };
    if(func == "cities_T3c1")
        http_request.onreadystatechange = function() { citiesResponseT3c1(http_request); };
    if(func == "cities_T3c2")
        http_request.onreadystatechange = function() { citiesResponseT3c2(http_request); };
    if(func == "cities_T3c3")
        http_request.onreadystatechange = function() { citiesResponseT3c3(http_request); };
    if(func == "subrubriki")
        http_request.onreadystatechange = function() { rubrikiResponse(http_request); };
    if(func == "t5_subrub")
        http_request.onreadystatechange = function() { t5subrubResponse(http_request); };
    if(func == "removeContact")
        http_request.onreadystatechange = function() { remContResponse(http_request); };
    if(func == "updateT5Contact")
        http_request.onreadystatechange = function() { updateT5ContResponse(http_request); };
    http_request.send(null);
}

function updateTab3Response(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var message;
            message=http_request.responseText;
            if(message.length > 0) {
                prepareT3Update();
                document.getElementById("t3notice").innerHTML = message.substring(6,message.length-7);
                if(message == "<span>Данните са записани успешно!</span>") {
                    document.getElementById("t3notice").style.color = "darkgreen";
                    if(document.getElementById("t3ready").value == "0") {
                        document.getElementById("t3ready").value = "1";
                        document.pdt5_form.readyForSend.value = parseInt(document.pdt5_form.readyForSend.value) + 2;
                        if(document.pdt5_form.readyForSend.value >= 4)
                            document.pdt5_form.submit.disabled = false;
                    }
                    showT3DataOnT5();
                    alert("Данните са записани успешно!");
                }
                else {
                    document.getElementById("t3notice").style.color = "darkred";
                    if(message=="<span>Всички задъжителни полета трябва да бъдат попълнени.</span>"){
                         alert("Всички задъжителни полета трябва да бъдат попълнени.");
                    }
                    else if(message=="<span>Моля изберете поне една рубрика.</span>"){
                         alert("Моля изберете поне една рубрика.");
                    }
                    else if(message=="<span>Моля изберете поне една услуга.</span>"){
                         alert("Моля изберете поне една услуга.");
                    }
                }
            }
            else {
                alert('Няма връзка със сървъра, моля опитайте отново.');
            }
        }
        else {
            alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function t5subrubResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var message;
            message=http_request.responseText;
            if(message.length > 0) {
                document.getElementById("t5catrub").innerHTML = message;
            }
            else {
                alert('Няма връзка със сървъра, моля опитайте отново.');
            }
        }
        else {
            alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function showT3DataOnT5() {
    var link_url= "services/updateT5Contact.php";
    executeGETrequest(link_url,"updateT5Contact");
    load_t5_rub();
}

function prepareT3Update() {
    var myform = document.getElementById('pd3_form');
    var subrubcount = 0;
    for (var i=0; i < myform.length; i++) {
        var element = myform.elements[i];
        if(element.type == "text") {
            if(element.name == "cname1" || element.name == "cgsm1" || element.name == "cadress1")
              if(!element.getAttribute('style') || typeof element.getAttribute('style') == 'string'){
                if(element.value.length > 0)
                    element.setAttribute("class","control");
                else
                    element.setAttribute("class","control_man");
              }
              else{
                  if(element.value.length > 0)
                      element.className="control";
                  else
                       element.className="control_man";

              }
        }
        if(document.getElementById("contactPanel2").style.display == "block") {
            if(element.name == "cname2" || element.name == "cgsm2" || element.name == "cadress2")
                if(!element.getAttribute('style') || typeof element.getAttribute('style') == 'string'){
                  if(element.value.length > 0)
                      element.setAttribute("class","control");
                  else
                      element.setAttribute("class","control_man");
                }
                else{
                    if(element.value.length > 0)
                        element.className="control";
                    else
                         element.className="control_man";

                }
        }
        if(document.getElementById("contactPanel3").style.display == "block") {
            if(element.name == "cname3" || element.name == "cgsm3" || element.name == "cadress3")
                  if(!element.getAttribute('style') || typeof element.getAttribute('style') == 'string'){
                    if(element.value.length > 0)
                        element.setAttribute("class","control");
                    else
                        element.setAttribute("class","control_man");
                  }
                  else{
                      if(element.value.length > 0)
                          element.className="control";
                      else
                           element.className="control_man";

                  }
        }
        if(element.type == "checkbox")
            if(element.checked == true)
                subrubcount++;
    }
    var cities = [3];
    cities[0] = document.getElementById('city1');
    cities[1] = document.getElementById('city2');
    cities[2] = document.getElementById('city3');
    var panels = [3];
    panels[0] = document.getElementById("contactPanel1");
    panels[1] = document.getElementById("contactPanel2");
    panels[2] = document.getElementById("contactPanel3");
    for(var i=0; i<3; i++) {
        if(cities[i] != null && panels[i].style.display == "block") {
            if(cities[i].options[0].value != 0)
                document.getElementById("cities_table"+(i+1)).style.border = "0px";
            else
                document.getElementById("cities_table"+(i+1)).style.border = "1px solid darkred";
        }
    }
    // --- rubriki
    var rcount = parseInt(document.getElementById("rubriki_count").value);
    var subrub = document.getElementById("main_rub");
    if(rcount == 0 || subrubcount == 0)
        setAttr(subrub,"style","border: 1px solid darkred;");
    else
        setAttr(subrub,"style","border: 0px;");
}

function updateUDProfileResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var message;
            message=http_request.responseText;
            if(message.length > 0) {
                if(message != "<span>yes</span>") {
                    showNotice(message);
                    if(message == "<span>Потвърди паролата</span>"){
                        alert("Потвърди паролата");
                    }
                    else{
                       alert("Всички маркирани в червено полета са задължителни за попълване!");
                    }
                }
                else {
                    if(document.getElementById("t2ready").value == "0") {
                        document.getElementById("t2ready").value = "1";
                        document.pdt5_form.readyForSend.value = parseInt(document.pdt5_form.readyForSend.value) + 1;
                        if(document.pdt5_form.readyForSend.value == 4)
                            document.pdt5_form.submit.disabled = false;
                    }
                    showT2DataOnT5();
                    hideNotice();
                    alert("Данните са записани успешно!");
                }
                prepareFAUpdate();
            }
            else {
              //  alert('Няма връзка със сървъра, моля опитайте отново.');
            }
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function showT2DataOnT5() {
    document.getElementById("t5firmname").innerHTML = document.pd_form.firmname.value;
    document.getElementById("t5bulstat").innerHTML = document.pd_form.bulstat.value;
    document.getElementById("t5zdds").innerHTML = document.pd_form.zdds.value;
    document.getElementById("t5city").innerHTML = document.pd_form.city.options[document.pd_form.city.selectedIndex].innerHTML;
    document.getElementById("t5address").innerHTML = document.pd_form.address.value;
    document.getElementById("t5mol").innerHTML = document.pd_form.mol.value;
    document.getElementById("t5contact_person").innerHTML = "Лице за контакт:&nbsp;&nbsp;" + document.pd_form.contact_person.value;
    document.getElementById("t5phone").innerHTML = "Мобилен телефон:&nbsp;&nbsp;" + document.pd_form.phone.value;
}

function hideNotice() {
    document.getElementById("notices").innerHTML = "Данните са записани успешно!";
    document.getElementById("notices").style.color = "darkgreen";
    document.getElementById("cities_table").style.border = "0px";
}

function showNotice(notice) {
    document.getElementById("notices").innerHTML = notice;
    document.getElementById("notices").style.color = "darkred";
    if(document.getElementById("city") != null)
        if(document.getElementById("city")[document.getElementById("city").selectedIndex].value > 0)
            document.getElementById("cities_table").style.border = "0px";
        else
            document.getElementById("cities_table").style.border = "1px solid darkred";
}

function prepareFAUpdate() {
    var myform = document.getElementById('pd_form');
    myform.new_pass.value = "";
    myform.renew_pass.value = "";
    for (var i=0; i < myform.length; i++) {
       var element = myform.elements[i];
       if(element.type == "text" && element.name!='mol' && element.name!='bulstat' && element.name!='zdds' ) {
            if(!element.getAttribute('style') || typeof element.getAttribute('style') == 'string'){
                if(element.value.length > 0)
                    element.setAttribute("class","control");
                else
                    element.setAttribute("class","control_man");
              }
              else{
                  if(element.value.length > 0)
                      element.className="control";
                  else
                       element.className="control_man";

              }
       }
    }
}

function load_search_cities(obj) {
    var link_url= "services/loadCities.php?submit=submit&hasall=1&id=" + obj.options[obj.selectedIndex].value;
    executeGETrequest(link_url,"search_cities");
}

function load_sub_cities(obj) {
    var link_url= "services/loadCities.php?submit=submit&id=" + obj.options[obj.selectedIndex].value;
    executeGETrequest(link_url,"cities");
}

function load_t5_rub() {
    var link_url= "services/loadT5Rub.php?submit=submit";
    executeGETrequest(link_url,"t5_subrub");
}

function citiesResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var cityContainer = document.getElementById("theCity");
            var resp = http_request.responseText;
            cityContainer.innerHTML = resp;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function citiesResponseT3c1(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var cityContainer = document.getElementById("theCityT3c1");
            var resp = http_request.responseText;
            cityContainer.innerHTML = resp;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}
function citiesResponseT3c2(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var cityContainer = document.getElementById("theCityT3c2");
            var resp = http_request.responseText;
            cityContainer.innerHTML = resp;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}
function citiesResponseT3c3(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var cityContainer = document.getElementById("theCityT3c3");
            var resp = http_request.responseText;
            cityContainer.innerHTML = resp;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function load_sub_cities_t3(obj,toObj) {
    var link_url= "services/loadCities.php?submit="+toObj+"&id=" + obj.options[obj.selectedIndex].value;
    if(toObj == "theCityT3c1")
        executeGETrequest(link_url,"cities_T3c1");
    else if(toObj == "theCityT3c2")
        executeGETrequest(link_url,"cities_T3c2");
    else
        executeGETrequest(link_url,"cities_T3c3");
}


function remSubRubriki(obj) {
    if(!confirm("Сигурни ли сте че искате да изтриете тази рубрика?"))
        return false;
    var rubCont = document.getElementById("subrubriki");
    var rubforRem = document.getElementById(obj);
    var rubValue = obj.substring(3);
    var rubName = document.getElementById("parent_r_name_" + rubValue).value;
    var comboBox = document.getElementById("rubrika");
    var newOption = document.createElement("option");
    newOption.text = rubName;
    newOption.value = rubValue;
    try {
        comboBox.add(newOption,null);
    }
    catch(ex) {
        comboBox.add(newOption);
    }
    rubCont.removeChild(rubforRem);
    document.getElementById("t3messages").innerHTML = "&nbsp;";
    var rcount = parseInt(document.getElementById("rubriki_count").value);
    rcount--;
    document.getElementById("rubriki_count").value = rcount;
}

function addSubRubriki(obj) {
    if(obj.options[obj.selectedIndex].value == "0")
        return false;
    var max_rubriki = parseInt(document.getElementById("max_rubriki").value);
    var rcount = parseInt(document.getElementById("rubriki_count").value);
    rcount++;
    if(rcount > max_rubriki) {
        document.getElementById("t3messages").innerHTML = "Вече сте избрали максимален брой рубрики.";
        document.getElementById("rubrika").options[0].selected = "selected";
        return false;
    }
    document.getElementById("rubriki_count").value = rcount;
    document.getElementById("t3messages").innerHTML = "&nbsp;";
    var link_url= "services/loadRubriki.php?action=add&id=" + obj.options[obj.selectedIndex].value;
    obj.remove(obj.selectedIndex);
    loadRubriki(link_url);
}

function loadRubriki(link) {
    executeGETrequest(link,"subrubriki");
}

function rubrikiResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var rubContainer = document.getElementById("subrubriki");
            var myform = document.getElementById("pd3_form");
            var checkedRub = [];
            var checkCount = 0;
            var resp = http_request.responseText;
            for (var i=0; i < myform.length; i++) {
                var element = myform.elements[i];
                if(element.type == "checkbox") {
                    if(element.checked == true) {
                        checkedRub[checkCount] = element.name;
                        checkCount++;
                    }
                }
            }
            rubContainer.innerHTML += resp;
            for (var i=0; i < myform.length; i++) {
                var element = myform.elements[i];
                if(element.type == "checkbox") {
                    for(var x=0; x < checkedRub.length; x++) {
                        if(element.name == checkedRub[x]) {
                            element.checked = true;
                        }
                    }
                }
            }
            //alert(rubContainer.innerHTML);
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function removeContact(contact) {
    if(contact == 2) {
        if(document.getElementById("contactPanel3").style.display == "block") {
            alert("Не можете да изтриете този контакт. Моля изтрийте първо третия контакт.");
            return false;
        }
        document.pd3_form.cname2.value = "";
        document.pd3_form.cphone2.value = "";
        document.pd3_form.cfax2.value = "";
        document.pd3_form.cgsm2.value = "";
        document.pd3_form.cemail2.value = "";
        document.pd3_form.cwebsite2.value = "";
        document.pd3_form.cworktime2.value = "";
        document.pd3_form.cadress2.value = "";
        document.pd3_form.city2.options[0].selected = true;
    }
    else {
        document.pd3_form.cname3.value = "";
        document.pd3_form.cphone3.value = "";
        document.pd3_form.cfax3.value = "";
        document.pd3_form.cgsm3.value = "";
        document.pd3_form.cemail3.value = "";
        document.pd3_form.cwebsite3.value = "";
        document.pd3_form.cworktime3.value = "";
        document.pd3_form.cadress3.value = "";
        document.pd3_form.city3.options[0].selected = true;
    }
    document.getElementById("contactPanel" + contact).style.display = "none";
    var link_url= "services/removeContact.php?contact=" + contact;
    executeGETrequest(link_url,"removeContact");
    var link_url= "services/updateT5Contact.php";
    executeGETrequest(link_url,"updateT5Contact");
    var contacts = parseInt(document.getElementById("contacts_count").value);
    contacts--;
    document.getElementById("contacts_count").value = contacts;
}

function updateT5ContResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var resp = http_request.responseText;
            var t5cont = document.getElementById("t5contacts");
            t5cont.innerHTML  = resp;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function remContResponse(http_request) {
    if (http_request.readyState == 4 || http_request.readyState == 'complete') {
        if (http_request.status == 200) {
            var resp = http_request.responseText;
        }
        else {
         //   alert('Няма връзка със сървъра, моля опитайте отново.');
        }
    }
}

function t4ready() {
    if(document.getElementById("t4ready").value == "0") {
        document.getElementById("t4ready").value = "1";
        document.pdt5_form.readyForSend.value = parseInt(document.pdt5_form.readyForSend.value) + 1;
        if(document.pdt5_form.readyForSend.value == 4)
            document.pdt5_form.submit.disabled = false;
    }
}
