﻿var acrCls;

if (typeof window.onload == 'function') {
    var oldload = window.onload;
    window.onload = function() {
        if (gEId('acr')) {
            acrCls = new acr();
            acrCls.initAcr('acr');
        }
        initValid();
        if (gEId('fdDiv')) {
            fdCls = new fade();
            fdCls.initFade('fdDiv');
        }
        if (gEId('popDef')) {
            showPop('popDef');

        }
        
        oldload();
    };
}
else {
    window.onload = function() {
        if (gEId('acr')) {
            acrCls = new acr();
            acrCls.initAcr('acr');
        }
        initValid();
        if (gEId('fdDiv')) {
            fdCls = new fade();
            fdCls.initFade('fdDiv');
        }
        if (gEId('popDef')) {
            showPop('popDef');
        }
        
    };
}



function gEId(id) {
    return document.getElementById(id);
}
function gEsName(p, tg) {
    return p.getElementsByTagName(tg);
}

function acr() {
    var as, ps, ss;
    this.initAcr = function(id) {
        as = gEsName(gEId(id), 'a');
        ps = gEsName(gEId(id), 'p');
        ss = gEsName(gEId(id), 'span');
        for (var i = 0; i < ps.length; ++i) {
            as[i].href = "javascript:acrCls.doAcr(" + i + "," + ps[i].offsetHeight + ");";
            if (i > 0) {
                ps[i].style.height = 0;
                if (ss[i])
                    ss[i].className = 'vstd';
            }
        }
    };
    this.doAcr = function(indx, ht) {
        for (var i = 0; i < ps.length; ++i) {
            if (ps[i].offsetHeight > 0 && i != indx) {
                setTimeout("acrCls.runAcr(" + i + ", 0,-1)", 1);
                if (ss[i])
                    ss[i].className = 'vstd';
            }
        }
        for (var i = 0; i < ps.length; ++i) {
            if (ps[i].offsetHeight == 0 && i == indx) {
                setTimeout("acrCls.runAcr(" + indx + ", " + ht + ",1)", 1);
                if (ss[indx])
                    ss[indx].className = '';
                break;
            }
        }
    };
    this.runAcr = function(indx, ht, stp, cl) {
        var p = ps[indx];
        var lv = Math.ceil(Math.abs((ht - p.offsetHeight) / 5)) * stp;
        if (Math.abs(lv) > 0) {
            p.style.height = p.offsetHeight + lv + 'px';
            setTimeout("acrCls.runAcr(" + indx + ", " + ht + "," + stp + ")", 1);
        }
        else if (stp < 0) {
            p.style.height = 0;
        }
    };
}



function valid() {
    var txt, inpt, slc;
    this.initValid = function(id) {
        var vldDiv = gEsName(document.body, 'div');
        for (var i = 0; i < vldDiv.length; ++i) {
            if (new RegExp('Ftr').test(vldDiv[i].id)) {
                setProFtr(vldDiv[i].id);
            }
            else if (new RegExp(id).test(vldDiv[i].id)) {
                setPro(vldDiv[i].id);
            }
        }
    };
    setProFtr = function(id) {
        var frm = gEId(id);
        var inpt = gEsName(frm, 'input');
        var txt = gEsName(frm, 'textarea');
        inpt[0].onfocus = function() { if (this.value == 'نام و نام خانوادگی') this.value = ''; };
        inpt[0].onblur = function() { if (this.value == '') this.value = 'نام و نام خانوادگی'; };
        inpt[1].onfocus = function() { if (this.value == 'ایمیل') this.value = ''; };
        inpt[1].onblur = function() { if (this.value == '') this.value = 'ایمیل'; };
        inpt[2].onfocus = function() { if (this.value == 'تلفن تماس') this.value = ''; };
        inpt[2].onblur = function() { if (this.value == '') this.value = 'تلفن تماس'; };
        txt[0].onfocus = function() { if (this.value == 'شرح درخواست') this.value = ''; };
        txt[0].onblur = function() { if (this.value == '') this.value = 'شرح درخواست'; };
    };
    setPro = function(id) {
        var frm = gEId(id);
        var txt = gEsName(frm, 'textarea');
        for (var i = 0; i < txt.length; ++i) {
            txt[i].onfocus = function() { this.style.border = 'solid 1px #969696'; };
        }
        var inpt = gEsName(frm, 'input');
        for (var i = 0; i < inpt.length; ++i) {
            inpt[i].onfocus = function() { this.style.border = 'solid 1px #969696'; };
        }
        var slc = gEsName(frm, 'select');
        for (var i = 0; i < slc.length; ++i) {
            slc[i].onfocus = function() { this.style.border = 'solid 1px #969696'; };
        }
    };
    this.check = function(id) {
        var ret = true;
        var frm = gEId(id);
        var txt = gEsName(frm, 'textarea');
        for (var i = 0; i < txt.length; ++i) {
            if (new RegExp('req').test(txt[i].className) && txt[i].value == '') {
                txt[i].style.border = 'solid 1px #f00';
                ret = false;
            }
        }
        var inpt = gEsName(frm, 'input');
        for (var i = 0; i < inpt.length; ++i) {
            if (new RegExp('req').test(inpt[i].className) && inpt[i].value == '') {
                inpt[i].style.border = 'solid 1px #f00';
                ret = false;
            }
        }
        var slc = gEsName(frm, 'select');
        for (var i = 0; i < slc.length; ++i) {
            if (new RegExp('req').test(slc[i].className) && slc[i].value == '') {
                slc[i].style.border = 'solid 1px #f00';
                ret = false;
            }
        }
        return ret;
    };
    this.ftrCheck = function(id) {
        var frm = gEId(id);
        var inpt = gEsName(frm, 'input');
        var txt = gEsName(frm, 'textarea');
        if (inpt[0].value == '' || inpt[0].value == 'نام و نام خانوادگی') {
            var er = gEId('err');
            er.style.display = 'block';
            er.innerText = 'لطفا نام و نام خانوادگی را بنویسید';
            er.innerHTML = 'لطفا نام و نام خانوادگی را بنویسید';
            return false;
        }
        if (inpt[1].value == '' || inpt[1].value == 'ایمیل') {
            var er = gEId('err');
            er.style.display = 'block';
            er.innerText = 'لطفا ایمیل را درست بنویسید';
            er.innerHTML = 'لطفا ایمیل را درست بنویسید';
            return false;
        }
    };
}



function fade() {
    this.div, this.crIndx, this.nIndx, this.val;
    this.initFade = function(id) {
        var fd = gEId(id);
        this.div = gEsName(fd, 'div');

        for (var i = 1; i < this.div.length; ++i) {
            this.op(this.div[i], 0);
            this.div[i].style.display = 'block';
            var img = gEsName(this.div[i], 'img');
            img[0].src = "/theme/img/home-txt" + Number(i + 1) + ".jpg";
            img[1].src = "/theme/img/home-bnr" + Number(i + 1) + ".jpg";
            img[2].src = "/theme/img/home-btn" + Number(i + 1) + ".jpg";
        }

        this.crIndx = 0;
        setTimeout('fdCls.autoFade()', 1000);
    };

    this.autoFade = function() {
        if (this.crIndx == 2) {
            this.nIndx = 0;
        }
        else this.nIndx = this.crIndx + 1;
        this.val = 100;
        setTimeout('fdCls.act()', 1);
    };

    this.act = function() {
        if (this.val > 0) {
            this.val -= 1;
            this.op(this.div[this.crIndx], this.val);
            this.op(this.div[this.nIndx], 100 - this.val);
            setTimeout('fdCls.act()', 10);
        }
        else {
            this.crIndx = this.nIndx;
            setTimeout('fdCls.autoFade()', 6000);
        }
    };

    this.op = function(obj, opval) {
        obj.style.opacity = opval / 100;
        obj.style.MozOpacity = opval / 100;
        obj.style.KhtmlOpacity = opval / 100;
        obj.style.filter = "alpha(opacity=" + opval + ");";

    };
}




////////////////////////////////////////////////////////////


function setImg(e) {
    var elm;
    var IE = document.all ? true : false
    if (IE)
        elm = event.srcElement;
    else
        elm = e.target;
    gEId('bigImg').src = elm.src;
}

function show(idx) {
    var d = document.getElementById("pR").getElementsByTagName("div");
    for (var i = 0; i < d.length; ++i) {
        d[i].style.display = "none";
    }
    d[idx].style.display = "block";

    var ul = document.getElementById("mr")
    var a = ul.getElementsByTagName("a");
    var s = ul.getElementsByTagName("span");
    for (var i = 0; i < a.length; ++i) {
        a[i].className = "";
    }
    for (var i = 0; i < s.length; ++i) {
        s[i].className = "rm" + (Number(i) + 1);
    }

    document.getElementById("a" + idx).className = "act";
    document.getElementById("sp" + idx).className = "rm" + (Number(idx) + 1) + "act";

}
function setHome() {
    var ie = document.all;
    if (ie) {
        document.body.style.behavior = "url(#default#homepage)";
        document.body.setHomePage(location.href);
    }
    else
        showMn('4');
}



var intvlMn;
function showMn(mnId) {
    doHide();
    document.getElementById('mn' + mnId).style.display = "block";
    document.getElementById('m' + mnId).className = 'm' + mnId + ' ' + 'm' + mnId + 'act';
}
function hideMn() {
    intvlMn = setInterval("doHide()", 200);
}
function killHide() {
    clearInterval(intvlMn);
}
function doHide() {
    clearInterval(intvlMn);

    document.getElementById('mn1').style.display = "none";
    document.getElementById('m1').className = "m1";
    document.getElementById('mn2').style.display = "none";
    document.getElementById('m2').className = "m2";
    document.getElementById('mn3').style.display = "none";
    document.getElementById('m3').className = "m3";
    document.getElementById('mn4').style.display = "none";
    document.getElementById('m4').className = "m4";
}






var intvlmProg;
var stpmProg = 0;
function mProg(d, limit, cur) {
    if (stpmProg == limit || stpmProg == 0) {
        var u = document.getElementById('projUl');
        var crnMR = u.style.marginRight.replace('px', '');
        crnMR = crnMR == '' ? 0 : crnMR;
        if (((crnMR == 0 && Number(d) < 0) || crnMR < 0) &&
            (crnMR > -((proj.length) * limit) || (crnMR == -((proj.length) * limit) && Number(d) > 0))) {

            if (d < 0) {
                var imgIndx = Math.ceil(Math.abs(crnMR) / limit) + (cur - 1);
                imgIndx += d / d;
                u.getElementsByTagName("img")[imgIndx].src = proj[imgIndx - cur].img;
            }
            stpmProg = 0;
            clearInterval(intvlmProg);
            intvlmProg = setInterval(
                function move() {
                    var u = document.getElementById("projUl");
                    var crnMR = u.style.marginRight.replace("px", "");
                    if (stpmProg < limit) {
                        stpmProg = stpmProg + Math.abs(d);
                        u.style.marginRight = Number(crnMR) + Number(d) + "px";
                    }
                    else {
                        clearInterval(intvlmProg);
                        if (crnMR == 0) {
                            gEId('ar1').className = 'ar1-off';
                            gEId('ar2').className = 'ar2';
                        }
                        else if (crnMR == -((proj.length) * limit)) {
                            gEId('ar1').className = 'ar1';
                            gEId('ar2').className = 'ar2-off';
                        }
                        else {
                            gEId('ar1').className = 'ar1';
                            gEId('ar2').className = 'ar2';
                        }
                    }
                }
                , 1);
        }
    }
}



var xmlhttp = false;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
        xmlhttp = false;
    }
}
if (!xmlhttp) {
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
}
if (!xmlhttp && window.createRequest) {
    try {
        xmlhttp = window.createRequest();
    } catch (e) {
        xmlhttp = false;
    }
}

function getPrj(pId, pg) {

    var allA = document.getElementById('projUl').getElementsByTagName('a');
    for (var i = 0; i < allA.length; ++i) {
        allA[i].className = '';
    }
    document.getElementById('a' + pId).className = 'gallery-act';

    var wait = "<img class='' src='/theme/img/loading.gif' />";
    if (!xmlhttp) return false;
    var d = document.getElementById("projs");
    if (!d) return false;
    if (wait) d.innerHTML = wait;
    xmlhttp.open("GET", "/experience/our-works/" + pg + pId, true);
    xmlhttp.onreadystatechange = function() { response(d); };
    try {
        xmlhttp.send(null);
    } catch (l) {
        while (e.firstChild) e.removeChild(e.firstChild);
        e.appendChild(document.createTextNode("درخواست ارسال نشد"));
    }
}
function response(d) {
    if (xmlhttp.readyState == 4) {
        var res = (xmlhttp.status == 200 || xmlhttp.status == 0) ? xmlhttp.responseText : "Error In Request ";
        d.innerHTML = res;
    }
}



function showPop(pId, hfId, conId) {
    getScrollWidth();
    var bck = gEId('popback');
    var pop = gEId(pId);
    if (hfId) {
        var hf = gEId(hfId);
        if (hf) {
            hf.value = conId;
        }
        else {
            gEId('bigImg').src = hfId;
        }
    }

    if (bck.style.display == 'block') {
        bck.style.display = 'none';
        pop.style.display = 'none';
    }
    else {
        bck.style.display = 'block';
        pop.style.display = 'block';
        setWH(pop, bck);
        window.onresize = function() { setWH(pop, bck); };
        window.onscroll = function() { setWH(pop, bck); };
    }
}

function setWH(pop, bck) {
    getScrollWidth();
    var wdt = pop.offsetWidth;
    var hgt = pop.offsetHeight;
    bck.style.width = scnWid + "px";
    bck.style.height = scnHei + "px";
    pop.style.left = scnWid / 2 - wdt / 2 + "px";
    pop.style.top = scnHeiP / 2 + scrTop - hgt / 2 + "px";
}


function getScrollWidth() {
    if (self.innerHeight) {
        scnWid = self.innerWidth;
        scnHei = document.documentElement.scrollHeight;
        scnHeiP = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        scnWid = document.documentElement.clientWidth;
        scnHei = document.documentElement.scrollHeight;
        scnHeiP = document.documentElement.clientHeight;
    }
    else if (document.body) {
        scnWid = document.body.clientWidth;
        scnHei = document.body.scrollHeight;
        scnHeiP = ddocument.body.clientHeight;
    }

    scrTop = document.body.scrollTop;
    if (scrTop == 0) {
        if (window.pageYOffset)
            scrTop = window.pageYOffset;
        else
            scrTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
    }
}

function initValid() {
    var frm = gEsName(document, 'div');
    for (f = 0; f < frm.length; ++f) {
        if (new RegExp("validFrm").test(frm[f].id)) {
            var inpt = gEsName(frm[f], 'input');
            var slc = gEsName(frm[f], 'select');
            var txt = gEsName(frm[f], 'textarea');

            for (i = 0; i < inpt.length; ++i) {
                inpt[i].onfocus = function() {
                    try {
                        if (this.parentNode.title == this.value)
                            this.value = '';
                        gEsName(this.parentNode, 'span')[0].style.display = 'none';

                        gEsName(this.parentNode, 'span')[1].style.display = 'none';
                    }
                    catch (er) { }
                };
                inpt[i].onblur = function() {
                    if (this.value == '')
                        this.value = this.parentNode.title;
                };
            }
            for (i = 0; i < slc.length; ++i) {
                slc[i].onfocus = function() { gEsName(this.parentNode, 'span')[0].style.display = 'none'; };
            }
            for (i = 0; i < txt.length; ++i) {
                txt[i].onfocus = function() {
                    try {
                        if (this.parentNode.title == this.value)
                            this.value = '';
                        gEsName(this.parentNode, 'span')[0].style.display = 'none';
                    }
                    catch (er) { }
                };
                txt[i].onblur = function() {
                    if (this.value == '')
                        this.value = this.parentNode.title;
                };
            }
        }
    }
}
function valid(frmId) {

    var ret = true;

    var frm = gEId(frmId);
    var inpt = gEsName(frm, 'input');
    var slc = gEsName(frm, 'select');
    var txt = gEsName(frm, 'textarea');

    var telReq = /^[0-9- ]+[0-9- ]+[0-9- ]+[0-9- ]+[0-9- ]+$/;
    var mailReq = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    var urlReq = /(.*)/;

    for (i = 0; i < inpt.length; ++i) {
        var spn0 = gEsName(inpt[i].parentNode, 'span')[0];
        if (new RegExp("valreq").test(inpt[i].className) && (inpt[i].value == "" || inpt[i].value == inpt[i].parentNode.title)) {

            spn0.style.display = 'block';
            spn0.style.left = -(-inpt[i].offsetLeft + 150) + 'px';
            spn0.style.top = inpt[i].offsetTop + 'px';
            ret = false;
        }

        if (inpt[i].value != inpt[i].parentNode.title && inpt[i].value != "" && new RegExp("telreq").test(inpt[i].className) && !telReq.test(inpt[i].value)) {
            var spn1 = gEsName(inpt[i].parentNode, 'span')[1];
            if (!new RegExp("valreq").test(inpt[i].className))
                spn1 = gEsName(inpt[i].parentNode, 'span')[0];
            spn1.style.display = 'block';
            spn1.style.left = -(-inpt[i].offsetLeft + 150) + 'px';
            spn1.style.top = inpt[i].offsetTop + 'px';
            ret = false;
        }

        if (inpt[i].value != inpt[i].parentNode.title && inpt[i].value != "" && new RegExp("mailreq").test(inpt[i].className) && !mailReq.test(inpt[i].value)) {
            var spn1 = gEsName(inpt[i].parentNode, 'span')[1];
            if (!new RegExp("valreq").test(inpt[i].className))
                spn1 = gEsName(inpt[i].parentNode, 'span')[0];
            spn1.style.display = 'block';
            spn1.style.left = -(-inpt[i].offsetLeft + 150) + 'px';
            spn1.style.top = inpt[i].offsetTop + 'px';
            ret = false;
        }

        if (inpt[i].value != inpt[i].parentNode.title && inpt[i].value != "" && new RegExp("urlreq").test(inpt[i].className) && !urlReq.test(inpt[i].value)) {
            var spn1 = gEsName(inpt[i].parentNode, 'span')[1];
            if (!new RegExp("valreq").test(inpt[i].className))
                spn1 = gEsName(inpt[i].parentNode, 'span')[0];
            spn1.style.display = 'block';
            spn1.style.left = -(-inpt[i].offsetLeft + 150) + 'px';
            spn1.style.top = inpt[i].offsetTop + 'px';
            ret = false;
        }
    }

    for (i = 0; i < txt.length; ++i) {
        if (new RegExp("valreq").test(txt[i].className) && txt[i].value == "") {
            var spn = gEsName(txt[i].parentNode, 'span')[0];
            spn.style.display = 'block';
            spn.style.left = -(-inpt[i].offsetLeft + 150) + 'px';
            spn.style.top = txt[i].offsetTop + 'px';
            ret = false;
        }
    }
    for (i = 0; i < slc.length; ++i) {
        if (new RegExp("valreq").test(slc[i].className) && slc[i].value == "") {
            var spn = gEsName(slc[i].parentNode, 'span')[0];
            spn.style.display = 'block';
            spn.style.left = -(-slc[i].offsetLeft + 150) + 'px';
            spn.style.top = slc[i].offsetTop + 'px';
            ret = false;
        }
    }

    return ret;
}




