﻿// This Javascript is written by Peter Velichkov (http://blog.creonfx.com)
// and is distributed under the following license : http://creativecommons.org/licenses/by-sa/3.0/
// Use and modify all you want just keep this comment. Thanks

var incdec = 0;
var headID = document.getElementsByTagName("head")[0];
var cssNode = document.createElement("style");
cssNode.type = 'text/css';
cssNode.id = "resizingText";

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(';');
    //alert(ca);
    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);
}

function loadCss(x) {
    try {
        var cssStr = '\
		#content {font-size:' + (12 + x) + 'px;}\
		';
        if (cssNode.styleSheet) {
            cssNode.styleSheet.cssText = cssStr; // for IE
        } else {
            var cssText = document.createTextNode(cssStr);
            cssNode.appendChild(cssText); // breaks ie
            //cssNode.innerHTML = cssStr; // breaks saffari
        }
        if (!document.getElementById("resizingText")) headID.appendChild(cssNode);
    } catch (err) {
        // some debugging code
    }
}

function increaseFontSize() {
    if (incdec < 3) {
        incdec++;
        loadCss(incdec);
        createCookie('textsize', incdec, 1);
    }
}

function decreaseFontSize() {
    if (incdec > 0) {
        incdec--;
        loadCss(incdec);
        createCookie('textsize', incdec, 1);
    }
}

var x = readCookie('textsize')
if (x && x != 0) {
    x = parseInt(x);
    incdec = x;
    loadCss(x);
}

//eraseCookie('textsize');


//------------------------------------------- Browser Detect --------------------------------------------------------------

var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();



//------------------------------------------- THEME: Set up the image files to be used. -----------------------------------
var homepabeBackgroundImages = new Array()

homepabeBackgroundImages[0] = '/~/Media/Careers/Images/Homepage/photo0_homepage.ashx'
homepabeBackgroundImages[1] = '/~/Media/Careers/Images/Homepage/photo1_homepage.ashx'
homepabeBackgroundImages[2] = '/~/Media/Careers/Images/Homepage/photo2_homepage.ashx'
homepabeBackgroundImages[3] = '/~/Media/Careers/Images/Homepage/photo3_homepage.ashx'
homepabeBackgroundImages[4] = '/~/Media/Careers/Images/Homepage/photo4_homepage.ashx'
homepabeBackgroundImages[5] = '/~/Media/Careers/Images/Homepage/photo5_homepage.ashx'
homepabeBackgroundImages[6] = '/~/Media/Careers/Images/Homepage/photo6_homepage.ashx'

var j = 0
var p = homepabeBackgroundImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++) {
    preBuffer[i] = new Image()
    preBuffer[i].src = homepabeBackgroundImages[i]
}
var whichImage = Math.round(Math.random() * (p - 1));

function setTheme() {
    var divObjHomepage = document.getElementById("homepagebkg");
    var divObjHeader = document.getElementById("pageHeaderbkg");
    var s = setSectionName();

    var themeindex = readCookie('theme');

    if (themeindex) {
        themeindex = parseInt(themeindex);
        
        if (divObjHomepage != null) {
            divObjHomepage.style.background = 'url(' + homepabeBackgroundImages[themeindex] + ') no-repeat';
        }

        if (divObjHeader != null) {
            divObjHeader.style.background = 'url(/~/Media/Careers/Images/Homepage/photo' + themeindex + '_hr_' + s.name + '.ashx) no-repeat';
        }
    }
    else {
        createCookie('theme', whichImage, 0);
        
        if (divObjHomepage != null) {
            divObjHomepage.style.background = 'url(' + homepabeBackgroundImages[whichImage] + ') no-repeat';
        }

        if (divObjHeader != null) {
            divObjHeader.style.background = 'url(/~/Media/Careers/Images/Homepage/photo' + whichImage + '_hr_' + s.name + '.ashx) no-repeat';
        }        
    }
}

function setSectionName() {
    var filename = xtractFile(location.pathname);
    var sname;

    var filepath = filename.path + filename.file;

    strReplaceAll = filepath.replace(new RegExp("-", "gi"), "");
    strReplaceAll = strReplaceAll.replace(new RegExp("%20", "gi"), "");

    //alert(strReplaceAll);

    if (strReplaceAll.indexOf("CareerAreas") != -1) {
        sname = "career";
    }
    else if (strReplaceAll.indexOf("SearchJobs") != -1) {
        sname = "searchjobs";
    }
    else if (strReplaceAll.indexOf("WhyWorkHere") != -1) {
        sname = "whyworkhere";
    }
    else if (strReplaceAll.indexOf("College") != -1) {
        sname = "college";
    }
    else if (strReplaceAll.indexOf("GettingHired") != -1) {
        sname = "gettinghired";
    }        
    else {
        sname = "whyworkhere";
    }    

    //alert(sname);
    
    return { name: sname };

}

function xtractFile(data) {
    var m = data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);
    if (m == null) {
        //alert("The data string does not fit the pattern of location.pathname.\nPlease click Pathname or type a new string.");
        return { path: "", file: "" };
    }
    else {
        return { path: m[1], file: m[2] };
    }
}