﻿var Navigations = function() {
    this.iframe = null;
    this.iframeDoc = function() {
        var doc = null;
        
        if (this.iframe != null) {
            if(this.iframe.contentDocument)
                doc = this.iframe.contentDocument;
            else if(this.iframe.contentWindow)  
                doc = this.iframe.contentWindow.document;  
            else if(iframe.document)  
                doc = this.iframe.document;
        }
        return doc;
    }
    this.isLoaded = false;
    this.ShowContactsForm = function() {
        nav.isLoaded = false;
        var container = document.getElementById("contacts-nav-container");
        var form_container = document.getElementById("contacts-form-container");
        if (form_container != null) {
            if (form_container.style.display == "block") {
                return;
            }
        }
        if (document.getElementById("message-send") != null) {
            document.getElementById("message-send").style.display = "none";
            document.getElementById("message-send").style.visibility = "hidden";
        }
        if (form_container == null) {
            form_container = document.createElement("div");
            form_container.id = "contacts-form-container";
            form_container.style.display = "block";
            form_container.className = "popup-contacts";
            
            this.iframe = document.createElement("iframe");
            this.iframe.setAttribute("id", "iframe-contacts");
            this.iframe.style.border = "0px";
            this.iframe.style.width = "0px";
            this.iframe.style.height = "0px";
            this.iframe.src = "http://internet-solutions.com.ua/send_message.html";
            document.body.appendChild(this.iframe);
            
            form_container.innerHTML = GetContactsHtml();

            container.appendChild(form_container);
        }
        else {
            form_container.style.display = "block";
            form_container.style.visibility = "visible";
            document.getElementById("user-info-container").style.display = "block";
            document.getElementById("user-info-container").style.visibility = "visible";
        }
    }
    this.ShowContactsPreloader = function() {
        var form_container = document.getElementById("contacts-form-container");
        if (document.getElementById("preloader-img") == null) {
            var preloader = document.createElement("img");
            preloader.id = "preloader-img";
            preloader.src = "http://internet-solutions.com.ua/files/shablon-images/loader.gif";
            form_container.appendChild(preloader);
        }
        else {
            document.getElementById("preloader-img").style.display = "block";
            document.getElementById("preloader-img").style.visibility = "visible";
        }
        document.getElementById("user-info-container").style.display = "none";
        document.getElementById("user-info-container").style.visibility = "hidden";
    }
    this.HideContactsPreloader = function() {
        nav.isLoaded = false;
        document.getElementById("preloader-img").style.display = "none";
        document.getElementById("preloader-img").style.visibility = "hidden";
        
        var form_container = document.getElementById("contacts-form-container");
        
        if (document.getElementById("message-send") == null) {
            var div = document.createElement("div");
            div.id = "message-send";
            div.style.display = "block";
            div.innerHTML = "Ваша заявка отправлена.";
        
            form_container.appendChild(div);
        }
        else {
            document.getElementById("message-send").style.display = "block";
            document.getElementById("message-send").style.visibility = "visible";
        }
        
        this.iframeDoc().location.href = "http://internet-solutions.com.ua/send_message.html";
    }
    this.SubmitContactsForm = function() {
        var errors_txt = this.ValidateContactsForm();
        
        if (errors_txt == "") {
            this.ShowContactsPreloader();
            this.isLoaded = true;
            setTimeout("nav.iframeDoc().getElementsByTagName(\"form\")[0].submit();", 2000);
        }
        else {
            alert(errors_txt);
        }
        return false;
    }
    this.ValidateContactsForm = function() {
        var errors_txt = "";
        if (!checkName(document.getElementById("userNameTextBox").value)) {
            errors_txt += "Укажите корректно Имя \r\n";
        }
        if (!checkPhone(document.getElementById("userPhoneTextBox").value)) {
            errors_txt += "Укажите правильно телефон \r\n";
        }
        if (errors_txt == "") {
            this.iframeDoc().getElementById("contacts_UserName").value = document.getElementById("userNameTextBox").value;
            this.iframeDoc().getElementById("contacts_UserPhone").value = document.getElementById("userPhoneTextBox").value;
        }
        
        return errors_txt;
    }
    this.HideContactsForm = function(event) {
        var container = document.getElementById("contacts-nav-container");
        var form_container = document.getElementById("contacts-form-container");
        if (form_container != null) {
            var coords = Find_ElemCoords(form_container);
            var w = Get_ElemSizeWidth(form_container);
            var h = Get_ElemSizeHieight(form_container);

            var cursor = Cursor_Position(event);
            var out = false;
            if (cursor.x <= coords[0] || cursor.x >= coords[0] + w) {
                out = true;
            }
            if (cursor.y <= parseInt(coords[1]) - 5 || cursor.y >= coords[1] + h) {
                out = true;	
            }

            if (out && !this.isLoaded) {
                form_container.style.display = "none";
                form_container.style.visibility = "hidden";
            }
        }
    }
    this.ShowSitemapForm = function() {
        var container = document.getElementById("sitemap-nav-container");
        var form_container = document.getElementById("sitemap-form-container");
        if (form_container == null) {
            form_container = document.createElement("div");
            form_container.id = "sitemap-form-container";
            form_container.className = "popup-sitemap";
            
            form_container.innerHTML = GetSitemapHtml();
            
            container.appendChild(form_container);
        }
        else {
            form_container.style.display = "block";
            form_container.style.visibility = "visible";
        }
    }
    var GetContactsHtml = function() {
        return "<div id=\"contacts-table-container\">" +
    "<table id=\"contacts-table\">" +
    "<tr>" +
        "<td id=\"contacts-caption\">Контактная информация</td>" +
    "</tr>" +
    "<tr>" +
        "<td id=\"contacts-info\">" +
            "Закарпатье, Ужгород." +
            "<br />" +
            "моб.тел.: 8-050-6760502" +
            "<br />" +
            "<span title=\"Написать письмо\" style=\"text-decoration: underline; cursor: hand; cursor: pointer;\" onclick=\"window.location='mailto:order@internet-solutions.com.ua'; return false;\">Электронная почта</span>" +
        "</td>" +
    "</tr>" +
    "<tr>" +
        "<td id=\"contacts-userinfo\">" +
            "<p>Заявка на звонок</p>" +
            "<div>" +
            "<div id=\"user-info-container\">" +
                "<span>Представтесь:</span>" +
                "<input type=\"text\" id=\"userNameTextBox\" />" +
                "<span>Номер телефона:</span>" +
                "<input type=\"text\" id=\"userPhoneTextBox\" />" +
                "<input type=\"button\" onclick=\"return nav.SubmitContactsForm();\" title=\"Отправте заявку и Вам перезвонят!\" value=\"OK\" id=\"submit-contacts-form\" />" +
                "<br class=\"clear\" />" +
            "</div>" +
            "</div>" +
        "</td>" +
    "</tr>" +
"</table></div>";
        
    }
    var GetSitemapHtml = function() {
        return "";
    }
}
var nav = new Navigations();
function Find_ElemCoords(obj) {
	var currLeft = 0;
	var currTop = 0;
	if (obj.offsetParent) {
		currLeft = obj.offsetLeft;
		currTop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			currLeft += obj.offsetLeft;
			currTop += obj.offsetTop;
		}
	}
	return [currLeft, currTop];
}
function Get_ElemSizeWidth(obj) {
    if (browser == '') DetectBrowser();
    if (browser == 'ns4')
        return obj.clip.width;
    if (browser == 'op5')
        return obj.style.pixelWidth;
    else
        return obj.offsetWidth;
}
function Get_ElemSizeHieight(obj) {
    if (browser == '') DetectBrowser();
    if (browser == 'ns4')
        return obj.clip.height;
    if (browser == 'op5')
        return obj.style.pixelHeight;
    else
        return obj.offsetHeight;
}
function Cursor_Position(evt) {
    evt = evt || window.event;
    var cursor = {x: 0, y: 0};
    if (evt.pageX || evt.pageY) {
        cursor.x = evt.pageX;
        cursor.y = evt.pageY;
    }
    else {
        cursor.x = evt.clientX +
            (document.documentElement.scrollLeft ||
             document.body.scrollLeft) -
             document.documentElement.clientLeft;
        cursor.y = evt.clientY +
            (document.documentElement.scrollTop ||
             document.body.scrollTop) -
             document.documentElement.clientTop;
    }
    return cursor;
}
var browser = '';
function DetectBrowser() {
	var ns4 = document.layers; 
	var op5 = (navigator.userAgent.indexOf('Opera 5') != -1) 
		||(navigator.userAgent.indexOf('Opera/5') != -1);
	var op6 = (navigator.userAgent.indexOf('Opera 6') != -1) 
		||(navigator.userAgent.indexOf('Opera/6') != -1);
	var agt = navigator.userAgent.toLowerCase();
	var mac = (agt.indexOf("mac") != -1);
	var ie = (agt.indexOf("msie") != -1); 
	var mac_ie = mac && ie;
	if (ns4) browser = 'ns4';
	if (op5) browser = 'op5';
	if (op6) browser = 'op6';
	if (mac) browser = 'mac';
	if (ie) browser = 'ie';
	if (mac_ie) browser = 'mac_ie';
}
function checkPhone(str) 
{
    var is_valid = true;
	var symbols = "+-() ";
	var digits = "0123456789";
	var minimum_digits = 5;
	for (var i = 0; i < str.length; i++) {
        var c = str.charAt(i);
	    if (digits.indexOf(c) != -1) {
	        minimum_digits--;
	    }
	    else {
	        if (symbols.indexOf(c) != -1) {
	        
	        }
	        else {
	            is_valid = false;
	        }
	    }
	}
	if (minimum_digits > 0) is_valid = false;
	return is_valid;
}
function checkName(str) {
    if (str.replace(" ", "").length < 3)
        return false;
    else
        return true;
}


