﻿function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



var count = 1;
var thumbs_view = 6;

if (document.images) {
    var img1 = new Image(62,43);
    img1.src = "Images/layout/VerticalMenu/link_1_rollover.png";
    var img2 = new Image(76,43);
    img2.src = "Images/layout/VerticalMenu/link_2_rollover.png";
    var img3 = new Image(72,43);
    img3.src = "Images/layout/VerticalMenu/link_3_rollover.png";
    var img4 = new Image(141,43);
    img4.src = "Images/layout/VerticalMenu/link_4_rollover.png";
    var img5 = new Image(76,43);
    img5.src = "Images/layout/VerticalMenu/link_5_rollover.png";
    var img6 = new Image(89,43);
    img6.src = "Images/layout/VerticalMenu/link_6_rollover.png";
    var img7 = new Image(60,43);
    img7.src = "Images/layout/VerticalMenu/link_7_rollover.png";
    var img8 = new Image(88,43);
    img8.src = "Images/layout/VerticalMenu/link_8_rollover.png";
    var img9 = new Image(52, 43);
    img9.src = "Images/layout/VerticalMenu/link_9_rollover.png";
    var img10 = new Image(68, 43);
    img10.src = "Images/layout/VerticalMenu/link_10_rollover.png";
    var img11 = new Image(77, 31);
    img11.src = "../images/layout/NetworkPNG/toggle_alphabetical_rollover.png";
    var img12 = new Image(75, 31);
    img12.src = "../images/layout/NetworkPNG/toggle_country_rollover.png";
    var img13 = new Image(886, 123);
    img13.src = "../Images/layout/large_header.png";
    var img14 = new Image(886, 90);
    img14.src = "../images/IHSANLayout/small_header.png";
}

    function getWindowWidth() {
        var windowWidth = 0;
        if (typeof (window.innerWidth) == 'number') {
            windowWidth = window.innerWidth;
        }
        else {
            if (document.documentElement && document.documentElement.clientWidth) {
                windowWidth = document.documentElement.clientWidth;
            }
            else {
                if (document.body && document.body.clientWidth) {
                    windowWidth = document.body.clientWidth;
                }
            }
        }
        return windowWidth;
    }

    function getWindowHeight() {
        var windowHeight = 0;
        if (typeof (window.innerHeight) == 'number') {
            windowHeight = window.innerHeight;
        }
        else {
            if (document.documentElement && document.documentElement.clientHeight) {
                windowHeight = document.documentElement.clientHeight;
            }
            else {
                if (document.body && document.body.clientHeight) {
                    windowHeight = document.body.clientHeight;
                }
            }
        }
        return windowHeight;
    }    
  
function ActivateAppTab(active) {

	if(isSilverlightInstalled())
	{
          window.location = "http://silverlight.ihsanetwork.org/index.aspx?active=" + active;
	}	
	else
	{
		switch(active)
		{
			case "man":
			window.location="IHSANManuscripts/ViewManus.aspx";
			break;
			case "hadith":
			window.location="HadithDB/nhdb.aspx";
			break;
		}
	}
      }
    function isSilverlightInstalled()

    {

        var isSilverlightInstalled = false;

       

        try

        {

            //check on IE

            try

            {

                var slControl = new ActiveXObject('AgControl.AgControl');

                isSilverlightInstalled = true;

            }

            catch (e)

            {

                //either not installed or not IE. Check Firefox

                if ( navigator.plugins["Silverlight Plug-In"] )

                {

                    isSilverlightInstalled = true;

                }

            }

        }

        catch (e)

        {

            //we don't want to leak exceptions. However, you may want

            //to add exception tracking code here.

        }

        return isSilverlightInstalled;

    }
            function DetectUserOS() {
                    var ua = navigator.userAgent.toLowerCase();
                    if (ua.indexOf("win") != -1) {
                        return "Windows";
                    } else if (ua.indexOf("mac") != -1) {
                        return "Macintosh";
                    } else if (ua.indexOf("linux") != -1) {
                        return "Linux";
                    } else if (ua.indexOf("x11") != -1) {
                        return "Unix";
                    } else {
                        return "Computers";
                    }
            }
            function CheckSilverlightVer(active) {
                var OS = DetectUserOS();
		
                if (OS != "Linux" || OS != "Unix") {
			var ver = GetVer();
			
                    if (ver < 4) {
                        var div = document.createElement("DIV");
                        div.setAttribute("id", "silverlight-ver");
                        div.innerHTML = "تم تطوير واجهة جديدة للموسوعة تتطلب تركيب <span class='en'>Microsoft Silverlight</span><br/>للتركيب انقر ";
                        div.innerHTML += "<a onclick='fadeOutFn(\"" + div.getAttribute("id") + "\");OpenWin(\"http://www.microsoft.com/getsilverlight\");' >هنا</a>";
                        div.innerHTML += "<br/>إصدار <span class='en'>Silverlight</span> المركب قديم، لا يمكنكم من تشغيل الواجهة الجديدة<br/>للتحديث انقر ";
                        div.innerHTML += "<a onclick='fadeOutFn(\"" + div.getAttribute("id") + "\");OpenWin(\"http://www.microsoft.com/getsilverlight\");' >هنا</a>";
                        div.innerHTML += "<p style='text-align:center'><button onclick='fadeOutFn(\"" + div.getAttribute("id") + "\");ActivateAppTab(\"" + active + "\");'>إخفاء</button></p>";
			div.style.height = "150pt";
			div.style.width = "310pt";
			div.style.textAlign = "justify";
		        div.style.top = getWindowHeight() / 2 - parseInt(div.style.height) / 2 + "px";
        		div.style.left = getWindowWidth() / 2 - parseInt(div.style.width) / 2 + "px";
                        //div.style.visibility = "visible";
			document.body.appendChild(div);
			fadeInFn(div.getAttribute("id"));
                        
                    }
		    else
			{
				ActivateAppTab(active);
			}
                }
            }

function OpenWin(url)
{
	var win = window.open(url, "", "", false);
}

        function GetVer(){
            var parts = Array("ver-major", "ver-minor", "ver-build", "ver-revision");            
            //try firefox/non-IE version.
            var nav = navigator.plugins["Silverlight Plug-In"];
            if (nav) {
               /* for (var i = 0; i < 4; i++) {
                    document.getElementById(parts[i]).innerHTML = parseInt(nav.description.split(".")[i]).toString();   //getControl().isVersionSupported("2.0"); 
                }*/
                return parseInt(nav.description.split(".")[0]); //ver-major
            } else {
                //try the IE one now.
                try {
                    var control = new ActiveXObject('AgControl.AgControl');
                    //the following would be faster with a binary search, but this is "fast enough" for now. 
                    var vers = Array(1, 0, 0, 0);
                    loopMatch(control, vers, 0, 1);
                    /*loopMatch(control, vers, 1, 1);
                    loopMatch(control, vers, 2, 10000);
                    loopMatch(control, vers, 2, 1000);
                    loopMatch(control, vers, 2, 100);
                    loopMatch(control, vers, 2, 10);
                    loopMatch(control, vers, 2, 1);
                    loopMatch(control, vers, 3, 1);
                    for (var i = 0; i < 4; i++) {
                        document.getElementById(parts[i]).innerHTML = vers[i].toString();
                    }*/
                    return parseInt(vers[0].toString()); //ver-major
                } catch (e) {
                    //document.getElementById("vers-discrete").innerHTML = "Silverlight not installed.";
                    //alert("Silverlight not installed.");
			return 3;
                }
            }
        }
        function loopMatch(control, vers, idx, inc) {
            while(IsSupported(control, vers)){
                vers[idx]+=inc;
            }
            vers[idx] -= inc;
        }
        function IsSupported(control, ver){
            return control.isVersionSupported(ver[0]+ "."+ ver[1] + "." + ver[2] + "." + ver[3]);
        }

function OpenPDF(img,objId) {
    var viewer = new Seadragon.Viewer(objId);
    viewer.openDzi(img);
    openDiv("ZoomContainer");

}


function detectBrowser() {

    var agent = navigator.userAgent;
    var browser = navigator.appName;
    var b_version = navigator.appVersion;
    var version = parseFloat(b_version);

    if (agent.indexOf("Safari") != -1) {
        document.body.style.fontWeight = "normal";
    }

    if (screen.height < 1000) {
	eraseCookie('ScreenHeight') ;
	createCookie('ScreenHeight', screen.height.toString(), 1) ;
    }
    else {
	eraseCookie('ScreenHeight') ;
	createCookie('ScreenHeight', screen.height.toString(), 1) ;
    }

}

function AdjustLogo() {
    if (screen.height < 1000) {
        document.getElementById("img_logo").setAttribute("src", "images/IHSANLayout/small_header.png");
    }
    else {
        document.getElementById("img_logo").setAttribute("src", "Images/layout/large_header.png");
    }
}


function doNothing() {
}




function showDescription(div) {
    var divs = document.getElementsByName("DescDivs");
    for (var i = 0; i < divs.length; i++) {
        divs[i].style.display = "none";
    }
    //ShowBoxFn(div, 1, 1,0);
    fadeInFn(div);
    //document.getElementById(div).style.display = "block";
}

function enlargeSnapShots(targetId, objId) {
    var div = document.getElementById(objId);
    var divs = div.getElementsByTagName("Div");
    for (var i = 0; i < divs.length; i++) {
        divs[i].style.display = "none";
    }
    fadeInFn(targetId);
}

function openImg(targetId, objId) {
    var div = document.getElementById("certImgs");
    var divs = div.getElementsByTagName("Div");
    for (var i = 0; i < divs.length; i++) {
        divs[i].style.display = "none";
    }
    fadeInFn(targetId);
    var ul = document.getElementById("thumbs");
    var imgs = ul.getElementsByTagName("img");
    for (var i = 0; i < imgs.length; i++) {
        imgs[i].className = "inActive";
    }
    var obj = document.getElementById(objId);
    obj.className = "active";
}

function openDiv(objId) {
    fadeInFn(objId);
}

function closeDiv(objId) {
    fadeOutFn(objId);
}

function fadeInFn(objId, incOpacity, currOpacity) {

    // Set default value for objects Id if it is undefined 
    // (only happens if function called by an onclick event)
    if (typeof objId == 'undefined') {
        // Get object reference to element which triggered this event
        var event = (this.event) ? this.event : fadeInFn.caller.arguments[0] || window.event;
        var obj = event.target ? event.target : event.srcElement;

        // If object does not have an ID value - then give it one
        var d = new Date();
        if (!obj.id) obj.id = 'obj' + d.getTime();

        objId = obj.id;
    }

    // Set default value for opacity increment if it is undefined
    if (typeof incOpacity == 'undefined') incOpacity = 20;

    // Set default value for current opacity if it is undefined
    if (typeof currOpacity == 'undefined') currOpacity = 0;

    // Get object and set opacity
    var obj = document.getElementById(objId);
    obj.style.filter = "alpha(opacity=" + currOpacity + ")"; // IE
    obj.style.opacity = currOpacity / 100; // Firefox, etc..
    obj.style.display = 'block';

    // Increase Opacity and keep calling fadeIn until you go above 100
    currOpacity += incOpacity;
    if (currOpacity <= 100) {
        cmd = "fadeInFn('" + objId + "'," + incOpacity + "," + currOpacity + ")";
        timer = setTimeout(cmd, 75);
    } else {
        // Make sure 100% visible
        obj.style.filter = "alpha(opacity=100)"; // IE
        obj.style.opacity = 1; // Firefox, etc..
    }
}


function fadeOutFn(objId, incOpacity, currOpacity) {

    // Set default value for objects Id if it is undefined 
    // (only happens if function called by an onclick event)
    if (typeof objId == 'undefined') {
        // Get object reference to element which triggered this event
        var event = (this.event) ? this.event : fadeOutFn.caller.arguments[0] || window.event;
        var obj = event.target ? event.target : event.srcElement;

        // If object does not have an ID value - then give it one
        var d = new Date();
        if (!obj.id) obj.id = 'obj' + d.getTime();

        objId = obj.id;
    }

    // Set default value for opacity increment if it is undefined
    if (typeof incOpacity == 'undefined') incOpacity = 20;

    // Set default value for current opacity if it is undefined
    if (typeof currOpacity == 'undefined') currOpacity = 100;

    // Get object and set opacity
    var obj = document.getElementById(objId);
    obj.style.filter = "alpha(opacity=" + currOpacity + ")"; // IE
    obj.style.opacity = currOpacity / 100; // Firefox, etc..
    obj.style.display = 'block';

    // Decrease Opacity and keep calling fadeOutFn until you go below 0
    currOpacity -= incOpacity;
    if (currOpacity > 0) {
        cmd = "fadeOutFn('" + objId + "'," + incOpacity + "," + currOpacity + ")";
        timer = setTimeout(cmd, 50);
    } else {
        // Make sure 0% visible
        obj.style.filter = "alpha(opacity=0)"; // IE
        obj.style.opacity = 0; // Firefox, etc..
        obj.style.display = 'none';
    }
}

function ShowBoxFn(objId, width, height, currOpacity) {

    var inc = 2;
    var obj = document.getElementById(objId);

    obj.style.filter = "alpha(opacity=" + currOpacity + ")"; // IE
    obj.style.opacity = currOpacity / 100; // Firefox, etc..
    obj.style.display = "block";

    currOpacity += 10;
    //obj.style.width = width + "pt";
    obj.style.height = height + "px";
    // width *= inc;
    height *= inc;
    if (height < 140 && currOpacity <= 100) {
        cmd = "ShowBoxFn('" + objId + "'," + width + "," + height + "," + currOpacity + ")";
        timer = setTimeout(cmd, 75);
    } else {
        obj.style.width = "220pt";
        obj.style.height = "140pt";
        obj.style.filter = "alpha(opacity=100)"; // IE
        obj.style.opacity = 1; // Firefox, etc..        
        obj.style.display = "block";

        clearTimeout(timer)
    }
}



function MoveNext(objId) { // scroll left
    var th = document.getElementById(objId);
    var imgs = th.getElementsByTagName("img");
    var last_elem = imgs[imgs.length - 1]; // page Image
    var d = parseInt(th.offsetWidth) - parseInt(last_elem.offsetWidth);
    if (parseInt(last_elem.style.left) > d) {
        for (var i = 0; i < imgs.length; i++) {
            var child = imgs[i];
            var f = parseInt(child.style.left) - 60;
            child.style.left = f + "px";
        }
        var t = setTimeout(function() { MoveNext(objId); }, 25);
        if (parseInt(last_elem.style.left) < d || count > thumbs_view) {
            clearTimeout(t);
            count = 1;
        }
    }
    count++;
}
function MovePrev(objId) { // scroll right

    var th = document.getElementById(objId);
    var imgs = th.getElementsByTagName("img");
    var last_elem = imgs[0]; // page Image
    if (parseInt(last_elem.style.left) < 0) {
        for (var i = 0; i < imgs.length; i++) {
            var child = imgs[i];
            var f = parseInt(child.style.left) + 60;
            child.style.left = f + "px";
        }
        var t = setTimeout(function() { MovePrev(objId); }, 25);
        if (parseInt(last_elem.style.left) == 0 || count > thumbs_view) {
            clearTimeout(t);
            count = 1;
        }
    }
    count++;

}

function ActivateCurrentLink(page) {
    var str = page.toString();
    var name = str.substring(str.lastIndexOf("/") + 1, str.indexOf(".aspx"));
    name = name.toLocaleLowerCase();
    var currentPage = null;
    for (var i = 0; i < pages.links.length; i++) {
        if (pages.links[i] != null) {
            if (name == pages.links[i].name) {
                var currentPage = pages.links[i];
                break;
            }
        }
    }

     if (currentPage != null) {
         var el = document.getElementById(currentPage.name);
         if (el != null) {
             var img = el.getElementsByTagName("img")[0];
                 if (img != null) {
                     img.setAttribute("src", currentPage.ar_img_src_active);
                     img.onmouseover = null;
                     img.onmouseout = null;
                 }
         }     
     }
}

function loadLinks(page, ar) {
    var str = page.toString();
    var name = str.substring(str.lastIndexOf("/") + 1, str.indexOf(".aspx"));
    name = name.toLocaleLowerCase();
    var currentPage = null;
    for (var i = 0; i < pages.links.length; i++) {
        if (pages.links[i] != null) {
            if (name == pages.links[i].name) {
                var currentPage = pages.links[i];
                break;
            }
        }
     }
     if(currentPage != null)
     {
         if (currentPage.parent != "none") {
            var parent = GetParentNode(currentPage.parent);
            if (parent != null) {
                if (parent.parent != "none") {
                    var pParent = GetParentNode(parent.parent);
                    CreateChilds(pParent, ar);
                    //AddTobreadcrumbs(pParent, false, ar);

                }
               CreateChilds(parent, ar);
                //AddTobreadcrumbs(parent, false, ar);
            }
            
        }
        if (currentPage.childLinks != undefined) {
            CreateChilds(currentPage, ar);

        }
        //AddTobreadcrumbs(currentPage, true, ar);
        var el = document.getElementById(currentPage.name);

        if (el != null) {
            //el.childNodes[0].setAttribute("class", "active");
            if (ar != undefined) {
                var img = el.getElementsByTagName("img")[0];
                if (img != null) {
                    img.setAttribute("src", currentPage.ar_img_src_active);
                    img.onmouseover = null;
                    img.onmouseout = null;
                }
            }
            else {
                el.childNodes[0].setAttribute("class", "active");
            }
        }

            //alert(name)

            //el.setAttribute("class", "active");
    }
}

function AddTobreadcrumbs(node, isLast, ar) {
   
    var breadcrumbs = document.getElementById("breadcrumbs");
    var a = document.createElement("a");
   
    if (ar != undefined) {
        a.innerHTML = node.arLabel;
    }
    else {
        a.innerHTML = node.label;
    }
    a.setAttribute("href", node.url);
    breadcrumbs.appendChild(a);
    if (!isLast) {
        var span = document.createElement("span");
        span.innerHTML = " &#187; ";
        breadcrumbs.appendChild(span);
    }   
}

function GetParentNode(name) {
    for (var j = 0; j < pages.links.length; j++) {
        if (name == pages.links[j].name) {
            return pages.links[j]
        }
    }
}

function CreateChilds(page, ar) {
    var name = page.name;
    
    var ul = document.createElement("ul");
    for (var i = 0; i < page.childLinks.length; i++) {
        var li = document.createElement("li");
        var a = document.createElement("a");
        if (ar != undefined) {
            //a.innerHTML = page.childLinks[i].arLabel;
            var node = page.childLinks[i];
            var rollover_src = node.ar_img_src_rollover;
            var img = document.createElement("img");
            img.setAttribute("src", node.ar_img_src);
            img.id = "img_" + node.name;
            img.onmouseover = function(evt) { roll(page,this.id, true); };
            img.onmouseout = function(evt) { roll(page,this.id, false); };
            img.style.cssText = "border:0px none";
            a.appendChild(img);
            //a.innerHTML = "<img src='" + page.childLinks[i].ar_img_src + "' alt=''/>";
        }
        else {
            a.innerHTML = page.childLinks[i].label;
        }
        //a.innerText = About.pages[i].name;

        a.setAttribute("href", page.childLinks[i].url);
        if (page.childLinks[i].target != undefined) {
            a.setAttribute("target", page.childLinks[i].target);
        }
        if (page.childLinks.length == 1) {
            li.setAttribute("class", "only");
            li.className = "only";
        }
        else if (i == page.childLinks.length - 1) {
            li.setAttribute("class", "last");
            li.className = "last";
        }
        else if (i == 0) {
            li.setAttribute("class", "first");
            li.className = "first";
        }
        li.setAttribute("id", page.childLinks[i].name);
        li.appendChild(a);
        ul.appendChild(li);
    }
    var el = document.getElementById(name);
    el.appendChild(ul);
    //document.getElementsByName(name)[0].appendChild(ul);
}

function roll(page, childId, rollover) {
    var child;
    for (var i = 0; i < page.childLinks.length; i++) {
        var id = "img_" + page.childLinks[i].name;
        if (id == childId) {
            child = page.childLinks[i];
            break;
        }
    }
    var img = document.getElementById(childId);
    
    if (rollover) {
        img.setAttribute("src", child.ar_img_src_rollover);
    }
    else {
        img.setAttribute("src", child.ar_img_src);
    }
}

var pages = {
    "links":
    [
     { "name": 'membership', "url": 'membership.aspx', "label": 'membership', 'parent': "none", "arLabel": 'سجل فى الموقع', "ar_img_src": 'Images/layout/VerticalMenu/link_2.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_2_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_2_rollover.png' },
     { "name": "about", "label": "About", "parent": "none", "arLabel": 'عن إحسان', "ar_img_src": 'Images/layout/VerticalMenu/link_1.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_1_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_1_rollover.png' },
     { "name": 'hdb', "url": 'HDB.aspx', "label": 'HDB', 'parent': "none", "arLabel": 'موسوعة الحديث', "ar_img_src": 'Images/layout/VerticalMenu/link_4.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_4_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_4_rollover.png' },
     { "name": 'printededition', "label": 'Printed Edition', "parent": "none", "arLabel": 'النسخة المطبوعة', "ar_img_src": 'Images/layout/VerticalMenu/link_8.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_8_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_8_rollover.png' },
     { "name": 'manuscripts', "url": 'Manuscripts.aspx', "label": 'Manuscripts', "parent": "none", "arLabel": 'المخطوطات', "ar_img_src": 'Images/layout/VerticalMenu/link_5.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_5_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_5_rollover.png' },
     { "name": 'network', "url": '', "label": 'Network', "parent": "none", "arLabel": 'رابطة', "ar_img_src": 'Images/layout/VerticalMenu/link_9.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_9_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_9_rollover.png'},
     { "name": 'conference', "url": 'conference.aspx', "label": 'Conference', "parent": "none", "arLabel": 'المؤتمر', "ar_img_src": 'Images/layout/VerticalMenu/conference_black.png', "ar_img_src_active": 'Images/layout/VerticalMenu/conference_red.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/conference_rollover.png'},
     { "name": 'contact', "label": 'Contact', "parent": "none", "arLabel": 'اتصل بنا', "ar_img_src": 'Images/layout/VerticalMenu/link_7.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_7_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_7_rollover.png' },
     { "name": 'faq', "url": 'FAQ.aspx', "label": 'FAQ', "parent": "none", "arLabel": 'الأسئلة المثارة', "ar_img_src": 'Images/layout/VerticalMenu/link_6.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_6_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_6_rollover.png' },
     { "name": 'hcd', "url": 'HCD.aspx', "label": 'Hadith CD-ROM', "parent": "none", "arLabel": 'القرص المدمج', "ar_img_src": 'Images/layout/VerticalMenu/link_10.png', "ar_img_src_active": 'Images/layout/VerticalMenu/link_10_active.png', "ar_img_src_rollover": 'Images/layout/VerticalMenu/link_10_rollover.png' },

	]
}



