﻿/* Browser Detection */
var isMac = false;
var isSafari = false;
var isFirefox = false;
var isMSIE = false;
var isMSIE6 = false;
var isHomePage = false;

if (navigator.userAgent.indexOf("Macintosh") != -1){
    isMac = true;
}

if (navigator.userAgent.indexOf("Safari") != -1){
	isSafari = true;
} else if (navigator.userAgent.indexOf("MSIE") != -1){
    isMSIE = true;
    if (navigator.userAgent.indexOf("MSIE 6.0") != -1){
	    isMSIE6 = true;
    }
} else if (navigator.userAgent.indexOf("Firefox") != -1){
	isFirefox = true;
}

// Enables Assignment of Multiple window.onload Functions
function addLoadEvent(func) {   
	var oldonload = window.onload;   
	if (typeof window.onload != 'function') {   
		window.onload = func;   
	} else {   
		window.onload = function() {   
			if (oldonload) {   
				oldonload();   
			}   
			func();   
		}   
	}   
}   

//Gets Parameter Values from QueryString
function getParamValue(paramName){
	paramName += "=";
	var paramLength=paramName.length;
	var start = -1;
	if (location.search.indexOf("?" + paramName) != -1){
		start = location.search.indexOf("?" + paramName) + 1;
	} else if (location.search.indexOf("&" + paramName) != -1){
		start = location.search.indexOf("&" + paramName) + 1;
	}
	if (start != -1){
		if (location.search.indexOf("&",start + 1) != -1){
			tempValue = location.search.substring(start + paramLength, location.search.indexOf("&",start + 1));
		}
		else {
			tempValue = location.search.substring(start + paramLength);
		}
		return tempValue;
	}
	else {
		return null;
	}
}

/* Preloading and Rollovers */
var rolloverOn;
var rolloverOff;
var rolloverImages;
var sections = ["work", "client", "about", "contact"]; 

function getSectionID(){
   var section = -1;
   for (var i = 0; i < sections.length; i++){
        if (location.pathname.toLowerCase().indexOf(sections[i]) != -1) section = i;
    }
    return section;
}

function setSelectedTopNav(){
    var topNav = document.getElementById("topnav");
    var topNavImages = topNav.getElementsByTagName("img");
    if (!swfobject.hasFlashPlayerVersion("9.0.115")){
        if(topNavImages.length != 0){
            var currSection = getSectionID();  
            if (currSection != -1){
                currNavImage = topNavImages[currSection];
                currNavImage.className = "topnavcurr";
                if (isMSIE6 && isPNG(currNavImage)) {
                    currNavImage.src = getPNGSrc(currNavImage.runtimeStyle.filter);
                } else {
                    currNavImage.src = getSelectedSrc(currNavImage.src);
                }
            }
        }
    }
}

function preloadRollovers(roImages) {
    if (document.images) {
        var currMax = 0;
        if (roImages == null){
            rolloverImages = getElementsByTagClass("img", "rollover").concat(getElementsByTagClass("input", "rollover"));
            rolloverOn = new Array(rolloverImages.length);
            rolloverOff = new Array(rolloverImages.length);
        } else {
            rolloverImages = roImages;
            currMax = rolloverOff.length;
        }
        for (var i = 0; i < rolloverImages.length; i++) {
            rolloverOff[i + currMax] = new Image();
            rolloverOn[i + currMax] = new Image();

            if (isMSIE6 && isPNG(rolloverImages[i])) {
                rolloverOff[i + currMax].src = getPNGSrc(rolloverImages[i].runtimeStyle.filter);
            } else {
                rolloverOff[i + currMax].src = rolloverImages[i].src;
            }

            rolloverOn[i + currMax].src = getRolloverSrc(rolloverOff[i + currMax].src);
            rolloverImages[i].navid = i + currMax;
            if (rolloverImages[i].name.indexOf("$") == -1) {
                rolloverImages[i].name = "rollover" + (i + currMax);
                rolloverImages[i].id = "rollover" + (i + currMax);
            }
            
            setMouseListeners(rolloverImages[i]);
        }
    }
}

function setMouseListeners(roImage){
    roImage.onmouseover = function() {
        rolloverLight(this.id, this.navid);
    };
    roImage.onmouseout = function() {
        rolloverDim(this.id, this.navid);
    };
}

function removeMouseListeners(roImage){
    roImage.onmouseover = function() {};
    roImage.onmouseout = function() {};
}

function getElementsByTagClass(tagName, className) {
    var matches = new Array();
    var matchesByTag = document.getElementsByTagName(tagName);
    for (var i = 0; i < matchesByTag.length; i++) {
        if (matchesByTag[i].className.indexOf(className) != -1) {
            matches.push(matchesByTag[i]);
        }
    }
    return matches;
}

function getSelectedSrc(offSrc) {
    var regEx;
    if (offSrc.indexOf("_over.png") == -1){
        regEx = new RegExp(".png");
    } else {
        regEx = new RegExp("_over.png");
    }
    return offSrc.replace(regEx, "_down.png");
}

function getRolloverSrc(offSrc) {
    var regEx = new RegExp(".png");
    return offSrc.replace(regEx, "_over.png");
}

function getRolloutSrc(offSrc) {
    var regEx = new RegExp("_over.png");
    return offSrc.replace(regEx, ".png");
}

function rolloverLight(imgID, navID) {
    if (document.images) {
		if (isMSIE6 && isPNG(document.getElementById(imgID))){
			document.getElementById(imgID).runtimeStyle.filter = getRolloverSrc(document.getElementById(imgID).runtimeStyle.filter);
		} else {
            document.getElementById(imgID).src = rolloverOn[navID].src;
		}
    }
}

function rolloverDim(imgID, navID) {
    if (document.images) {
		if (isMSIE6 && isPNG(document.getElementById(imgID))){
			document.getElementById(imgID).runtimeStyle.filter = getRolloutSrc(document.getElementById(imgID).runtimeStyle.filter);
		} else {
            document.getElementById(imgID).src = rolloverOff[navID].src;
        }
    }
}

function isPNG(img){
    return ((img.src.toLowerCase().indexOf(".png") != -1) || (img.runtimeStyle.filter.toLowerCase().indexOf(".png") != -1));
}

function getPNGSrc(pngFilter) {
    var startSearch = "AlphaImageLoader(src='";
    var start = pngFilter.indexOf(startSearch) + startSearch.length;
    var end = pngFilter.indexOf("'", start);
    return pngFilter.substring(start, end);
}

/* AddThis Configuration */
var addthis_options = 'email, facebook, google, twitter, digg, stumbleupon, delicious, blogger, more'; // List of Social Media Outlets
var addthis_header_color = "#FFFFFF"; // AddThis Popup Header Text Color
var addthis_header_background = "#666666"; // AddThis Popup Header Background Color
var addthis_offset_top = 0; // AddThis Popup Offset Coordinate Top
var addthis_offset_left = 0; // AddThis Popup Offset Coordinate Left
var addthis_localize = {
    share_caption: "<b>Share RYANEXT</b>"
} // AddThis Popup Header Text
var addthis_config = {
   data_ga_tracker: "pageTracker"
} // AddThis Google Analytics Integration

/*Popup Window Functions*/
var popUpWin;
var popDefWidth = 640;
var popDefHeight = 555;
var lastWidth;
var lastHeight;

function popWin(url){
    openWin(url, popDefWidth, popDefHeight, true);
}

//Open URL in new window with fixed dimensions
function openWin(url, pixWidth, pixHeight, canScroll){
	var winFeatures = "width=" + pixWidth + ",height=" + pixHeight + "," + getCentered(pixWidth,pixHeight) + ",resizable=no,scrollbars=";
	if (canScroll){
		winFeatures += "yes";
	} else {
		winFeatures += "no";
	}
	if (popUpWin != null){
		if (popUpWin.closed){
			popUpWin = window.open(url, "popwin", winFeatures);
			popUpWin.focus();
		} else if ((lastWidth == pixWidth) && (lastHeight == pixHeight)){
			popUpWin.location.href = url;
			popUpWin.focus();
		} else {
			popUpWin.close();
			var timeDelay = 0;
			if (navigator.userAgent.indexOf("Safari") != -1){
				timeDelay = 1000;
			}
			var winWait = window.setTimeout('popUpWin = window.open("' + url + '", "popwin", "' + winFeatures + '");popUpWin.focus();', timeDelay);
		}	
	} else {
		popUpWin = window.open(url, "popwin", winFeatures);
		if (!popUpWin){
			var swfMovie = getObject("lufthansa");
			swfMovie.openRules();
		} else {
			popUpWin.focus();
		}
	}
	lastWidth = pixWidth;
	lastHeight = pixHeight;
}

//Get coordinates for centering window
function getCentered(popupWidth, popupHeight){
	var indentNetscapeWidth = 'screenX=' + getIndent(popupWidth, false);
	var indentNetscapeHeight = 'screenY=' + getIndent(popupHeight, true);
	var indentMSIEWidth = 'left=' + getIndent(popupWidth, false);
	var indentMSIEHeight = 'top=' + getIndent(popupHeight, true);
	var centerCoordinates = indentNetscapeWidth + ',' + indentNetscapeHeight + ',' + indentMSIEWidth + ',' + indentMSIEHeight;
	return centerCoordinates;
}

//Determine top and left margins for window
function getIndent (popupDimension, isHeight){
	if (isHeight){
		return ((screen.availHeight - popupDimension) / 2);
	} else {
		return ((screen.availWidth - popupDimension) / 2);
	}
}

//Close popup and redirect parent to URL
function closeAndGo(url){
	var newWin;

	if (window.opener != null){
		if (window.opener.closed){
			newWin = window.open(url,'newwin','width=' + screen.availWidth + ',height=' + screen.availHeight + ',toolbar=yes,status=yes,directories=yes,location=yes,menubar=yes,personalbar=yes,resizable=yes,scrollbars=yes');
			newWin.focus();
		} else {
			window.opener.location.href = url;
			window.opener.focus();
		}
	} else {
		newWin = window.open(url,'newwin','width=' + screen.availWidth + ',height=' + screen.availHeight + ',toolbar=yes,status=yes,directories=yes,location=yes,menubar=yes,personalbar=yes,resizable=yes,scrollbars=yes');
		newWin.focus();
	}
	window.close();
}

//Cookies manipulation
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);
}

function getMovie(movieName) {
    if (window[movieName]) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}

var tabSets = new Array();

function bioTabInit(){
    tabTypeInit("bio", "/aboutus_leadership_", true);
}

function fpTabInit(){
    tabTypeInit("fp", "/footer_", false);
}

function fpNavShow(tabID){
    document.getElementById("footerPanel").className = "open";
    tabShow(tabID, "fp");
}

function fpNavClose(){
    tabHide("fp");
    document.getElementById("footerPanel").className = "closed";
}

function tabTypeInit(tabType, trackPath, showFirst){
    if (tabSets[tabType] == null){
        tabSets[tabType] = new Object();
    }
    tabSets[tabType].divs = getElementsByTagClass("div", tabType + "Tab");
    tabSets[tabType].navImgs = getElementsByTagClass("img", tabType + "TabNav");
    if (trackPath != null){
        tabSets[tabType].trackPath = trackPath;
    }
    if (showFirst){
        tabShow(0, tabType);
    }
}

function tabShow(tabID, tabType){
    if (tabSets[tabType].divs.length > 0){
        tabHide(tabType);
        tabSets[tabType].divs[tabID].style.display = "block";
        removeMouseListeners(tabSets[tabType].navImgs[tabID]);
        rolloverLight(tabSets[tabType].navImgs[tabID].id, tabSets[tabType].navImgs[tabID].navid);
        if (tabSets[tabType].trackPath != null){
            pageTracker._trackPageview(tabSets[tabType].trackPath + tabSets[tabType].divs[tabID].id);
        }
    }
}

function tabHide(tabType){
    for (var i = 0; i < tabSets[tabType].divs.length; i++){
        tabSets[tabType].divs[i].style.display = "none";
        setMouseListeners(tabSets[tabType].navImgs[i]);
        rolloverDim(tabSets[tabType].navImgs[i].id, tabSets[tabType].navImgs[i].navid);
    }
}

function pageFadeIn(){
/*
    YUI().use('anim', function(Y) {

        var fadeIn = new Y.Anim({
            node: '#content',
            to: { opacity: 1 },
            duration: 0.5
        });
        
        fadeIn.run();
        
    });
*/
}

function pageFadeOut(){
    YUI().use('anim', function(Y) {

        var fadeOut = new Y.Anim({
            node: '#content',
            to: { opacity: 0 },
            duration: 0.5
        });
        
        var onEnd = function(){
            this.unsubscribe('end', onEnd);
            location.href = requestedURL;
        };
        
        fadeOut.on('end', onEnd);        
        fadeOut.run();
        
    });
}

var requestedURL;

function addPageFadeOut(){
    for (var i = 0; i < document.links.length; i++){
        document.links[i].onclick = function(){
            if (this.target.toLowerCase() == "_blank") {
                return true;
            } else {
                requestedURL = this.href;
                pageFadeOut();
                return false;
            }
        };
    }
}

function checkText(textField, isFocus){
    if (textField.initValue == null){
        textField.initValue = textField.value;
    }
    
    if (isFocus){
        if (textField.value == textField.initValue){
            textField.value = "";
        }
    } else {
        if (textField.value == ""){
            textField.value = textField.initValue;
        }
    }
}

function onclickFix(theLink, trackName) {
    pageTracker._trackPageview(trackName);
    if (theLink.target.toLowerCase() == "_blank") {
        return true;
    } else {
        setTimeout("location.href = '" + theLink.href + "'", 500);
        return false;
    }
}

function showHPTO(){      
    //if (isHomePage){
    if (isHomePage && (readCookie("ryanexthp") != "true")){
        var fIntro = document.getElementById("flashIntro");
        fIntro.style.display = "block";
        createCookie("ryanexthp", "true");
        var flashvars = {};
        flashvars.local = "false";
        flashvars.rootFolder = "swf/";
        var params = {};
        params.wmode = "transparent";
        params.allowscriptaccess = "always";
        params.scalemode = "noscale";
        params.bgcolor = "#232323";
        var attributes = {};
        attributes.id = "introSWF";
        swfobject.embedSWF("swf/intro.swf", "introSWF", "990", "700", "9.0.115", "swf/expressInstall.swf", flashvars, params, attributes);
        swffit.fit("introSWF", 990, 700);
    } else {
        pageFadeIn();
    }
}

function introComplete(){
    var fIntro = document.getElementById("flashIntro");
    swfobject.removeSWF("introSWF");
    YUI().use('anim', function(Y) {

        var fadeOut = new Y.Anim({
            node: '#flashIntro',
            to: { opacity: 0 },
            duration: 1
        });
        
        var onEnd = function(){
            this.unsubscribe('end', onEnd);
            fIntro.style.display = "none";
            pageFadeIn();
        };
        
        fadeOut.on('end', onEnd);        
        fadeOut.run();
        
    });
}

//addLoadEvent(showHPTO);
addLoadEvent(setSelectedTopNav);
addLoadEvent(preloadRollovers);
addLoadEvent(fpTabInit);
//addLoadEvent(addPageFadeOut);

