//*******************************************
//CONSTANTS
//*******************************************
var CurrentWindow = null;
_uacct = "UA-1463558-2";
//*******************************************

function LoadFunction(){
	CurrentWindow = document.getElementById("pageHome");
	setLIs();
}

//RANDOM NUMBER
function rn(min, max) {
	var offset = min;
	var range = (max - min) + 1;

	var randomNumber = Math.floor( Math.random() * range) + offset;
	return randomNumber;
}
//OPEN FULL WINDOW
function OpenFullWindow(targeturl){
	window.open(targeturl,"","fullscreen")
}
//OPEN WINDOW
function OpenBrWindow(theURL,winName,features) {
	Window = window.open(theURL,winName,features);
}
//GET CONFIRMATION PROMPT
function Confirmation(str){
	return confirm(str);
}
//CHANGE CLASS TO
function ClassChange(which,newClass){
	which.className = newClass;
}
//CONVERT FROM STRING TO ASCII
function ConvertToString(str){
	var finalString = str
	finalString = finalString.replace(/&#44;/g,",");
	finalString = finalString.replace(/&#39;/g,"'");
	finalString = finalString.replace(/&#34;/g,"\"");
	return finalString;
}
//CONVERT FROM ASCII TO STRING
function ConvertToASCII(str){
	var finalString = str
	finalString = finalString.replace(/,/g,"&#44;");
	finalString = finalString.replace(/'/g,"&#39;");
	finalString = finalString.replace(/"/g,"&#34;");
	return finalString;
}
//FIND OBJECT COORDINATES
function findPos(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}
//TOGGLE OBJECT VISIBILITY
function Toggle(obj){
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}
function What(obj,display){
	var el = document.getElementById(obj);
	el.style.display = display;
}
//CREATE ARRAY
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);


function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}
addLoadEvent(LoadFunction);



function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function OnFocus(which){
	if(which.value == arguments[1]){
		which.value = '';
	}	
}
function OnBlur(which,str){
	if(which.value.length == 0 || which.value == str){
		which.value = str;
		if(arguments[2] == '*'){
			which.type = "text";
		}
	}
}

function getObjects(){
	var arr = Array();
	arr[0] = document.getElementById("divFlickrPhotos");
	arr[1] = document.getElementById("divPaper");
	arr[2] = document.getElementById("divDashboard");
	arr[3] = document.getElementById("divLogo");
	arr[4] = document.getElementById("divFirefox");
	arr[5] = document.getElementById("divHello");
	arr[6] = document.getElementById("divBlue");
	arr[7] = document.getElementById("divRed");
	arr[8] = document.getElementById("divGreen");
	arr[9] = document.getElementById("divCoffee");
	return arr;
}

function OpenWindow(strName){
	var obj = document.getElementById(strName);
	if(CurrentWindow != obj){
		CurrentWindow.style.display = "none";
		$("#"+strName).fadeIn("slow");
		CurrentWindow = obj;
	}
}

function reset(){
	var papers = document.getElementsByTagName("div");
	for(var t = 0; t < papers.length; t++){
		var paper = papers[t];
		paper.style.position = "static";
	}
}

function setLIs(){
	var lis = document.getElementsByTagName("li");
	for(var x = 0; x < lis.length; x++){
		var li = lis[x];
		var attRel = String(li.getAttribute('effect'));
		if (attRel.toLowerCase().match("over")){			
			li.onmouseover = function(){
				if(this.className != 'visited'){
					this.className = 'on';
				}
			}
			li.onmouseout = function(){
				if(this.className != 'visited'){
					this.className = 'off';
				}
			}
			li.onclick = function(){
				var attUrl = String(this.getAttribute('url'));
				var attHref = String(this.getAttribute('href'));
				var attEffect = String(this.getAttribute('effect'));
				var attThickbox = String(this.getAttribute('rel'));


				if(attThickbox != "thickbox"){
					if(this.className != 'visited'){
						this.className = 'visited';
						if(String(attUrl) != ""){
							window.open(String(attUrl));				
						}
					}else{
						this.className = 'off';
					}
				}else{
					
					var attTitle = String(this.getAttribute('title'));
					tb_show(attTitle,attHref);
				}
			}
		}
	}
}
