/*
script.js
JavelinVP.com (version 1.0)
Website by LaMa Media
Copyright (c) 2009 - All Rights Reserved
*/


// ****************************************************************
// GLOBALS
// ****************************************************************
/*global window, document, navigator, clearTimeout, setTimeout, alert, fBrowserDetect */

var vCurPage,
	vDepth = '',
	vDir = '../',
	vGAAccount = 'UA-4068254-3';
	vPages = ['index', 'strategy', 'team', 'portfolio', 'news', 'contact'],
	vPageNames = ['Javelin Venture Partners', 'Strategy', 'Team', 'Portfolio', 'News', 'Contact'];

if(!Array.indexOf) {
	Array.prototype.indexOf = function(obj) {
		for (var t = 0; t < this.length; t++) {
		if (this[t] == obj) {
                return t;
            }
        }
        return -1;
    };
}


// ****************************************************************
// CSS RULES
// ****************************************************************

function fCSSRule(rName) {
	var tSNum, tSheet, tRNum, tRule, tLast;
	rName = rName.toLowerCase();
	if (document.styleSheets) {
		for (tSNum = 0; tSNum < document.styleSheets.length; tSNum++) {
			tRNum = 0;
			tRule = false;
			tLast = false;
			tSheet = document.styleSheets[tSNum];
			do {
				if (tSheet.cssRules) {
					tRule = tSheet.cssRules[tRNum];
				} else {
					tRule = tSheet.rules[tRNum];
				}
				if (tRule)  {
					if (tRule.selectorText.toLowerCase() == rName) {
						return tRule;
					}
					// Chrome Fix
					if (tRule == tLast) {
						tRule = false;
					}
					tLast = tRule;
				}
				tRNum++;
			} while (tRule);
		}
	}
	return false;
}

function fCSSRuleAdd(rName) {
	if (document.styleSheets) {
		if (!fCSSRule(rName)) {
			if (document.styleSheets[0].addRule) {
				document.styleSheets[0].addRule(rName, null, 0);
			} else {
				document.styleSheets[0].insertRule(rName + ' { }', 0);
			}
		}
	}
	return fCSSRule(rName);
} 


// ****************************************************************
// UTILITIES
// ****************************************************************

function fOpacity(rID, rValue) { 
    var tStyle = document.getElementById(rID).style,
		tValue = (rValue / 100);
    tStyle.opacity = tValue; 
    tStyle.MozOpacity = tValue; 
    tStyle.KhtmlOpacity = tValue; 
    tStyle.filter = 'alpha(opacity=' + rValue + ')'; 
} 


function fBrowserFixes() {
	var tRule;
	
	if (fBrowserDetect.browser == 'Explorer') {
		if (document.getElementById('paratop')) {
			document.getElementById('paratop').style.paddingTop = '15px';
		}
		if (vCurPage == 'index') {
			document.getElementById('home-news-fullarton').style.bottom = '42px';
		
		} else if (vCurPage == 'portfolio') {
			tRule = fCSSRule('.portfolio-line');
			tRule.style.left = '-27px';
			tRule.style.top = '31px';
		}
	}
	if ((fBrowserDetect.browser == 'Explorer') || (fBrowserDetect.browser == 'Firefox')) {
		if (vCurPage == 'news') {
			tRule = fCSSRule('.news-head');
			tRule.style.width = '161px';
		}
	}
}


// ****************************************************************
// PAGES
// ****************************************************************

function fCommon() {

	var t, tPage, tName, tLink, tID,
		tCommon = 
			'<div id="page-top"></div>' +
			'<div id="page-bot"></div>' +
			'<div id="nav-space" class="nav"></div><div id="nav-bot" class="nav"></div>' + 
			'<a id="nav-logo" class="nav" href="' + vDepth + vDir + 'index.html"><span>Javelin Venture Partners</span></a>';
		
	for (t = 0; t < vPages.length; t++) {
		tPage = vPages[t];
		tName = vPageNames[t];
		tLink = vDepth + tPage;
		if (t == vPages.indexOf(vCurPage)) {
			tID = 'nav-' + tPage + '-on';
		} else {
			tID = 'nav-' + tPage;
		}
		tCommon += '<a id="' + tID + '" class="nav" href="' + tLink + '.html"><span>' + tName + '</span></a>';
	}
	document.getElementById('common').innerHTML = tCommon;
} 


function fPageStart(rPage, rDepth) {
	vCurPage = rPage;
	while (rDepth--) { vDepth+=vDir; }
}


function fPageEnd() {
	if (vCurPage != 'index') { fCommon(); }
	fBrowserFixes();
}


// ****************************************************************
// HOME NEWS
// ****************************************************************

var fHomeNewsHide, fHomeNewsNext, vHomeNewsTimeout, vHomeNewsNum,
	vHomeNewsCur = 1,
	vHomeNewsTime = 7000,
	vHomeNewsSpeed = 20,
	vHomeNewsDelta = 10,
	vHomeNewsDelay = 100,
	vHomeNewsOpacity = 0,
	vHomeNewsPause = 0,
	vHomeNewsPauseable = 0;

function fHomeNewsShow() {
	vHomeNewsOpacity += vHomeNewsDelta;
	if (vHomeNewsOpacity >= 100) {
		vHomeNewsOpacity = 100;
		vHomeNewsTimeout = setTimeout(fHomeNewsHide, vHomeNewsTime);
		vHomeNewsPauseable = 1;
	} else {
		setTimeout(fHomeNewsShow, vHomeNewsSpeed);
	}
	fOpacity(('home-news-' + vHomeNewsCur), vHomeNewsOpacity);
}

fHomeNewsHide = function () {
	if (vHomeNewsPause && vHomeNewsOpacity == 100) {
		vHomeNewsTimeout = setTimeout(fHomeNewsHide, vHomeNewsSpeed);
	} else {
		vHomeNewsPauseable = 0;
		vHomeNewsOpacity -= vHomeNewsDelta;
		if (vHomeNewsOpacity <= 0) {
			vHomeNewsOpacity = 0;
			fHomeNewsNext();
		} else {
			vHomeNewsTimeout = setTimeout(fHomeNewsHide, vHomeNewsSpeed);
		}
		fOpacity(('home-news-' + vHomeNewsCur), vHomeNewsOpacity);
	}
};

fHomeNewsNext = function () {
	document.getElementById('home-news-' + vHomeNewsCur).style.display = 'none';
	if (++vHomeNewsCur > vHomeNewsNum) {
		vHomeNewsCur = 1;
	}
	document.getElementById('home-news-' + vHomeNewsCur).style.display = 'block';
	setTimeout(fHomeNewsShow, vHomeNewsDelay);
};

function fHomeNewsStart(rNum) {
	vHomeNewsNum = rNum;
	vHomeNewsCur = Math.floor(Math.random()*vHomeNewsNum) + 1;
	fOpacity(('home-news-' + vHomeNewsCur), vHomeNewsOpacity);
	document.getElementById('home-news-' + vHomeNewsCur).style.display = 'block';
	setTimeout(fHomeNewsShow, vHomeNewsDelay);
}

function fHomeNewsOver(rOver) {
	var tNewsDiv, tFullArt;
	
	if (vHomeNewsPauseable) {
		tNewsDiv = fCSSRule('.home-news');
		tFullArt = fCSSRule('.home-news-fullart');
		if (rOver) {
			tNewsDiv.style.borderColor = '#ccc';
			tFullArt.style.background = 'url(../media/javfullart_1.gif)';
		} else {
			tNewsDiv.style.borderColor = '#fff';
			tFullArt.style.background = 'url(../media/javfullart_0.gif)';
		}
	
		vHomeNewsPause = rOver;
		if (vHomeNewsTimeout !== 0) {
			clearTimeout(vHomeNewsTimeout);
			if (!rOver) {
				vHomeNewsOpacity = 0;
				fHomeNewsHide();
			}
		}
	}
}

function fLink(rLink) {
	window.open(rLink);
}

function fOffsiteLink(rLink) {
	var tWin = window.open(rLink, "_blank");
	tWin.focus();
}

function fEmailLink(rID, rName, rDomain, rDisplay) {
	var tAddress = rName + String.fromCharCode(64) + rDomain,
		tDisplay = (typeof(rDisplay) == 'undefined') ? tAddress : rDisplay,
		tLink = '<a href="mailto:' + tAddress + '">' + tDisplay + '</a>';
	
	document.getElementById(rID).innerHTML = tLink;
}


// ****************************************************************
// BROWSER DETECT
// http://www.quirksmode.org/js/detect.html
// ****************************************************************

var fBrowserDetect={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"},{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"},{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.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};

fBrowserDetect.init();
