﻿
function Load() {

    /*
    var container = document.getElementById("container");

    var height = document.body.offsetHeight - container.offsetHeight;

    if (height > 203) {
    container.style.height = height - 203 + "px";
    }
    */
}

function SetFocus(obj, val) {
    if (obj.value == val) {
        obj.value = "";
        obj.style.color = "#656565";
    }
}

function SetBlur(obj, val) {
    if (obj.value == "") {
        obj.value = val;
        obj.style.color = "#656565";
    }
}

function SetBg(id, image) {
    var id = document.getElementById(id);
    id.style.backgroundImage = image;
}

var isValidatorAppears = 0;
var isValidatorInitialized = true;
var IE6 = (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1) && (navigator.userAgent.toLowerCase().indexOf('msie 7') == -1);

function LoadIFrame(frame, message, id) {

    frame.style.width = 70 + (message.length * 6) + "px";

    var f = frame.contentWindow.document.getElementById('inner');
    var c = frame.contentWindow.document.getElementById('close');

    c.onclick = function () {
        parent.document.getElementById(id).style.display = "none";
    };

    f.innerHTML = message;
}

function ExtendedValidator_Validate(source, args) {

    var control = document.getElementById(source.controltovalidate);

    var defaultValue = document.all ? document.all[source.id + "_default"] : document.getElementById(source.id + "_default");
    var defaultValue = defaultValue.value;

    source.style.zIndex = "10";
    source.style.color = "#212021";
    source.style.position = "absolute";

    var innerHTML = '';

    if (IE6) {
        innerHTML += '<iframe scrolling="NO" id="i" style="width: 250px; height: 60px;" onload="LoadIFrame(this, \'' + source.errormessage + '\', \'' + source.id + '\')" src="Message.htm" frameborder="0"></iframe>';
    }
    else {
        innerHTML += '<div class="message-content">';
        innerHTML += '<div class="close" onclick="HideMessage(\'' + source.id + '\')"></div>';
        innerHTML += '<div class="bottom">';
        innerHTML += '<div class="inner">' + source.errormessage + '</div>';
        innerHTML += '<div class="left"></div>';
        innerHTML += '</div>';
    }

    source.innerHTML = innerHTML;

    switch (source.className) {

        case "Required":
            {
                if (control.value == defaultValue || isHasWrongChars(control.value)) { args.IsValid = false; }
                break;
            }
        case "Zip":
            {
                if (control.value == defaultValue || !isZip(control.value)) { args.IsValid = false; }
                break;
            }
        case "Email":
            {
                if (control.value == defaultValue || !isEmail(control.value)) { args.IsValid = false; }
                break;
            }
        case "Cvv":
            {
                if (control.value == defaultValue || !isCvv(control.value)) { args.IsValid = false; }
                break;
            }
        case "CardNumber":
            {
                if (control.value == defaultValue || !isCardNumber(control.value)) { args.IsValid = false; }
                break;
            }
        case "Phone":
            {
                if (control.value == defaultValue || !isPhone(control.value)) { args.IsValid = false; }
                break;
            }
        case "Coupon":
            {
                if (control.value.length > 20 || isHasWrongChars(control.value)) { args.IsValid = false; }
                break;
            }
        default:
            {
                args.IsValid = false;
                break;
            }
    }

    var label = source.id + "_label";
    var labelControlName = document.getElementById(label);
    var labelControl = document.getElementById(labelControlName.value);

    if (!args.IsValid) {
        control.style.border = "solid 1px #FF0000";
        if (labelControl != null) {
            labelControl.style.color = "#FF0000";
        }

        if (isValidatorAppears == 0) isValidatorAppears = 1;
    }
    else {
        control.style.border = "solid 1px #BBBBBB";
        if (labelControl != null) {
            labelControl.style.color = "#565656";
        }

        isValidatorAppears = 0;
    }

    if (source.style.left != null && source.style.left == "") {
        source.style.display = "block";
        var blockWidth = source.clientWidth;
        source.style.display = "none";

        source.style.top = control.offsetTop - 61 + "px";
        source.style.left = control.offsetLeft - blockWidth + 70 + "px";
    }
}

function isHasWrongChars(s) {

    if (s.indexOf("'") > -1) return true;
    else if (s.indexOf(">") > -1) return true;
    else if (s.indexOf("<") > -1) return true;

    return false;
}

function HideMessage(source) {
    document.getElementById(source).style.display = "none";
}

function isZip(s) {
    reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
    if (!reZip.test(s)) { return false; }
    return true;
}

function isCardNumber(s) {

    regexStrVisa = new RegExp(/^4\d{15}$/);
    regexStrMasterCard = new RegExp(/^5[1-5]\d{14}$/);
    regexStrDiscover = new RegExp(/^6011\d{12}$/);
    regexStrAmex = new RegExp(/^3[47]\d{13}$/);

    if (regexStrVisa.test(s)) { return true; }
    else if (regexStrMasterCard.test(s)) { return true; }
    else if (regexStrDiscover.test(s)) { return true; }
    else if (regexStrAmex.test(s)) { return true; }

    return false;
}

function isCvv(s) {
    reZip = new RegExp(/^\d{3,4}$/);
    if (!reZip.test(s)) { return false; }
    return true;
}

function isPhone(s) {
    rePhone = new RegExp(/^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/);
    if (!rePhone.test(s)) { return false; }
    return true;
}

function isEmail(s) {
    reEmail = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
    if (!reEmail.test(s)) { return false; }
    return true;
}

function googleAnalytics(name_of_page) {
    try {
        var pageTracker = _gat._getTracker('UA-8687417-1');
        pageTracker._trackPageview(name_of_page);
    } catch (err) { }
}

function TrackEvent(name, value, path) {
    try {
        pageTracker._trackEvent(name, value, path);
    } catch (err) { }
}

//*** Deamond search ****

if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (elt /*, from*/) {
        var len = this.length >>> 0;

        var from = Number(arguments[1]) || 0;
        from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
        if (from < 0)
            from += len;

        for (; from < len; from++) {
            if (from in this &&
          this[from] === elt)
                return from;
        }
        return -1;
    };
}

function GetTopOffset(element) {
    var top = 0;
    try {
        if (element.offsetParent) {
            while (1) {
                top += element.offsetTop;
                if (!element.offsetParent) break;
                element = element.offsetParent;
            }
        } else if (element.y) { top += element.y; }
    }
    catch (ex) {
        return 0;
    }

    return top;
}

var activeRow = 1;
var table = null;

function RowMouseOver(elem, arrowPointer, active) {
    try {
        if (elem == undefined) return;

        if (elem.rows) {
            table = elem;
            if (activeRow > elem.rows.length) {
                activeRow = elem.rows.length - 1;
            }
            elem = elem.rows[activeRow];
        }

        if (table != null) {
            try {
                for (var x = 0; x < table.rows.length; x++) {
                    if (table.rows[x].getAttribute('id') == elem.getAttribute('id')) {
                        activeRow = x;
                    }
                }
            } catch (err) { activeRow = 1; }
        }

        if (active) elem.style.backgroundColor = '#EAEAEA';

        var DetailsContainer = $get(DetailsContainerID);

        if (document.all) {
            DetailsContainer.innerHTML = elem.cells[8].childNodes[2].innerHTML;
        }
        else {
            DetailsContainer.innerHTML = elem.cells[8].childNodes[3].innerHTML;
        }

        var arrow = $get(arrowPointer);

        var containerTop = GetTopOffset(DetailsContainer) + DetailsContainer.offsetHeight + 28;
        var arrowTop = GetTopOffset(elem);
        var arrowBottom = arrowTop + arrow.offsetParent.offsetHeight;

        if (arrowBottom > containerTop) arrowTop = containerTop - (arrow.offsetParent.offsetHeight / 2) - 20;

        arrow.offsetParent.style.top = arrowTop + "px";
    }
    catch (Error) { }
}

function RowMouseOut(elem) {
    elem.style.backgroundColor = '#FFFFFF';
}

function ShowQuickLook(element, control) {
    if ($(".quicklook").length == 0) {
        var post = 'javascript:__doPostBack("' + control + '","@' + element.id + '"); return false;';
        var parent = element.parentNode;

        if (document.all)
            $(element).after("<a id='quicklook' class='quicklook' alt='Quicklook' onclick='" + post + "' />");
        else
            $(parent).append("<a id='quicklook' class='quicklook' alt='Quicklook' onclick='" + post + "' />");

        $(".quicklook").show("slow");
    }
}

function HideQuickLook(element, event) {
    var parent = element.parentNode;

    var ev = $.event.fix(event);
    var offset = $(parent).offset();

    if (ev.pageX <= offset.left || ev.pageX >= (offset.left + 218)
    || ev.pageY <= offset.top || ev.pageY >= (offset.top + 235))
        $(".quicklook").remove();
}

function ClosePopup(pnl) {
    $('#' + pnl).empty();
}