/*******************************
 * Site Core Functions
 * Author: Jeff Palladino
 *******************************/

var swapElem;
var elems = ["palladino_site_image","wikiqueue_image","daliresp_site_image","daliresphcp_site_image","viibryd_site_image","fibro_site_image","github_site_image"]
var count = 0;
var prevElem;
var xhr;
var doc;
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.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera",
			versionSearch: "Version"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		}
	],
	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"
		}
	]

};
BrowserDetect.init();

function setActive(elemId,bool){
	$("."+elemId)[0].className = bool ? elemId+"_active" : "";	
}

/*function navigateTo(url){	
	if(location.href.match('localhost'))
		var navigateToUrl = "http://" + location.host + "/sites/personal/" + url;
	else
		var navigateToUrl = "http://" + location.host + "/" + url;
		
	location.href = navigateToUrl;	
}*/

function swapProject(elemId){
	if(swapElem)
		$('#'+swapElem+'_image')[0].style.display = "none";	
	
	$('#'+elemId+'_image')[0].style.display = "block";	
	swapElem = elemId;
}

function openLightBox(elemId){	
	generateContent(elemId);
	$('#lightBox')[0].style.display = "block";
	$('#fade')[0].style.display = "block";
}
function closeLightBox(elemId){
	$('#lightBox')[0].style.display = "none";
	$('#fade')[0].style.display = "none";
}
function queueAnimation(){
	if(prevElem)
		$("#"+prevElem).removeClass("testAnimation");
		
	$("#"+elems[count]).addClass("testAnimation");
	prevElem = elems[count];
	
	if(count+1 < elems.length){
		count++;
	}else
		count = 0;
}

function generateContent(elemId){
	var node = doc.querySelector("[id="+elemId+"]");
	var className = node.getElementsByTagName('image')[0].childNodes[0];
	
	$('#closeBtn').click(function(elemId){
		closeLightBox(elemId);
	})
	$('.lightHeader').html(node.getElementsByTagName('header')[0].childNodes[0]);
	$('#lightbox_image').removeClass().addClass(className.nodeValue);
	$('#for').html(node.getElementsByTagName('for')[0].childNodes[0]);
	$('#by').html(node.getElementsByTagName('by')[0].childNodes[0]);
	$('#design').html(node.getElementsByTagName('design')[0].childNodes[0]);
	$('#mainContent').html(node.getElementsByTagName('mainContent')[0].childNodes[0]);
}


/************** AJAX ************/
/*if(window.XMLHttpRequest)
	xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
	xhr = new ActiveXObject('Microsoft.XMLHTTP');
	
xhr.onreadystatechange = function() { 
	if (xhr.readyState == 4)
	{
		if(xhr.status == 200){
		   // Assign the XML file to a var
			doc = xhr.responseXML;
		}else{
			alert("Error code " + xhr.status);	
		}
	}
}; 	*/
	
	// DEV
/*xhr.open('GET','http://'+location.host+'/sites/personal/assets/xml/lightbox.xml',true)    */              
	//PROD
//xhr.open('GET','http://'+location.host+'assets/xml/lightbox.xml',true)                  
/*xhr.send(null); */
