// Most common objects/functions in site
/*
var speedtestImage = new Image;
function checkDownloadTime(url){
	url = 'http://dev.spiritclips.com/assets/films/thumbs/xlarge/thelittlefrog.jpg'
	starttime = new Date().getTime();

	speedtestImage.onload = ImageLoaded;
	speedtestImage.src = url;

}

function ImageLoaded(){
	endtime = new Date().getTime();
	usedtime = endtime-starttime;
	document.getElementById('bandwidth').innerHTML = usedtime;
}

function detectBandwidth(){
	setInterval("checkDownloadTime()", 1000);

}
*/

switch(location.host){
	case "www.spiritclips.com":
	case "spiritclips.com":
	case "67.192.204.218":
		var siteURL = location.protocol+'//spiritclips.com'
		var siteURLLocked = 'http://spiritclips.com'
	break;
	case "dev.spiritclips.com":
		var siteURL = location.protocol+'//dev.spiritclips.com'
		var siteURLLocked = 'http://dev.spiritclips.com'
	break;
	case "dev2.spiritclips.com":
		var siteURL = location.protocol+'//dev2.spiritclips.com'
	break;
	case "beta.spiritclips.com":
	case "staging.spiritclips.com":
		var siteURL = location.protocol+'//staging.spiritclips.com'
	break;
	default:
		alert('Javascript incompatible with domain!')
	break;
}

var imgDir = '/skins/default/imgs'

// ajax loading bar
var loadingGraphic = '<div class="loadingBar">Loading...<br /><img src="'+imgDir+'/common/loader_grey_bar.gif" /></div>'

// ajax loading swirl
var loadingGraphic2 = '<img src="' + imgDir + '/common/loader_macish.gif" alt="loading"/>';

// ajax loading swirl for black background
var loadingGraphic2blk = '<img src="' + imgDir + '/common/loader_macish_black.gif" alt="loading"/>';

var W3CDOM = (document.createElement && document.getElementsByTagName);
/*
var mouseOvers = new Array();
var mouseOuts = new Array();

window.onload = init;

function init(){

	if (!W3CDOM) return;

	var imgs = document.getElementsByTagName('img');
	var img_cnt = imgs.length;
	for (var i=0;i<imgs.length;i++){
		if(imgs[i].id.indexOf('mouseover') != -1) {
			imgs[i].onmouseover = mouseGoesOver;
			imgs[i].onmouseout = mouseGoesOut;
			var suffix = imgs[i].src.substring(imgs[i].src.lastIndexOf('.'));
			mouseOuts[i] = new Image();
			mouseOuts[i].src = imgs[i].src;
			mouseOvers[i] = new Image();
			mouseOvers[i].src = imgs[i].src.substring(0,imgs[i].src.lastIndexOf('.')) + "_over" + suffix;
			imgs[i].number = i;
		}
	}

	var imgs = document.getElementsByTagName('input');
	for (var i=0;i<imgs.length;i++){
		if(imgs[i].id.indexOf('mouseover') != -1) {
			imgs[i].onmouseover = mouseGoesOver;
			imgs[i].onmouseout = mouseGoesOut;
			var suffix = imgs[i].src.substring(imgs[i].src.lastIndexOf('.'));
			mouseOuts[i + img_cnt] = new Image();
			mouseOuts[i + img_cnt].src = imgs[i].src;
			mouseOvers[i + img_cnt] = new Image();
			mouseOvers[i + img_cnt].src = imgs[i].src.substring(0,imgs[i].src.lastIndexOf('.')) + "_over" + suffix;
			imgs[i].number = i + img_cnt;
		}
	}

}

function mouseGoesOver(){
	this.src = mouseOvers[this.number].src;
}

function mouseGoesOut(){
	this.src = mouseOuts[this.number].src;
}
*/

function addAnotherPollOption(){
	for(i=1;i<=10;i++){
		if(document.getElementById('option'+i).style.display=='none'){
			document.getElementById('option'+i).style.display='block'
			break
		}
	}
}

function addAnotherScavengerHuntToken(){
	for(i=1;i<=15;i++){
		if(document.getElementById('token'+i).style.display=='none'){
			document.getElementById('token'+i).style.display='block'
			break
		}
	}
}


function getXmlHttpObject(){
	var xmlHttp;
  try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
  catch (e){
		// Internet Explorer
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
    catch (e){
    	try{
      	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
      catch (e){
      	alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp
}



/**************************************************************************************
Author						:	Khalid Ali
Date							: August 20, 2003
Version						:	1.1
Company						:	webapplikations inc.      http://www.webapplikations.com
                    The code provided here is copy righted material and belongs to the
                    webapplikations.com inc. It is provided as a service for our visitors.
                    It can be used without permission provided that this notification
                    does appear at the top.
Description				: Well finally, I thought there are so many people who are using this
                    functionality and asking questions about it in forums,then there
                    should be a straight forward solution which can be used for both
                    Mozilla and IE browsers.

***************************************************************************************/
<!--
/**
  @param        textObj could be a text area or a text field
                        Only required for IE
*/
function setCaret (textObj) {
  if (textObj.createTextRange) {
    textObj.caretPos = document.selection.createRange().duplicate();
  }
}

/**
  @param        textObj  could be a text area or a text field
  @param        text field value that needs to be inserted in
*/
function insertAtCaret (textObj, textFeildValue) {
  if(document.all){
     if (textObj.createTextRange && textObj.caretPos) {
       var caretPos = textObj.caretPos;
       caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFeildValue + ' ' : textFeildValue;
     }else{
       textObj.value  = textFeildValue;
     }
  }else{
    if(textObj.setSelectionRange){
      var rangeStart = textObj.selectionStart;
      var rangeEnd   = textObj.selectionEnd;
      var tempStr1 = textObj.value.substring(0,rangeStart);
      var tempStr2 = textObj.value.substring(rangeEnd);
      textObj.value = tempStr1 + textFeildValue + tempStr2;
    }else{
      alert("This version of Mozilla based browser does not support setSelectionRange");
    }
  }
}

var elToRestore = new Array();

function toggleDiv(target, elToHide){
	
	// elToHide: windowed elements that don't listen to z-index

	if(document.getElementById(target).style.display=='none'){
		document.getElementById(target).style.display='block'

		if (typeof(elToHide) == 'object') {
			elToRestore = elToHide

			// Hide requested elements.
			for (var i in elToHide) {
				el = document.getElementById(elToHide[i]);

				if (el) {
					el.style.visibility = 'hidden';
				}

			}

		} else {
			elToRestore = new Array();
		}

	}else{
		
		document.getElementById(target).style.display='none'
		
		// Hide requested elements.
		for (var i in elToRestore) {

			el = document.getElementById(elToRestore[i]);

			if (el) {
				el.style.visibility = 'visible';
			}

		}
	
	}
}

function urlencode(str){
	var encodedString=escape(str);
  encodedString=encodedString.replace("+", "%2B");
  encodedString=encodedString.replace("/", "%2F");
	return encodedString;
}

function urldecode(str){

}

// Cross-browser implementation of element.addEventListener()

function addListener(element, type, expression, bubbling){

	bubbling = false; // bubbling || false;

  if(window.addEventListener) { // Standard
		element.addEventListener(type, expression, bubbling);
    return true;

  } else if(window.attachEvent) { // IE

  	element.attachEvent('on' + type, expression);

    return true;

  } else {

		return false;
	}

}

function trackClick(url) {

	if (typeof(isProduction) != 'undefined' && isProduction == 1) {

		// pageTracker requires relative URLs. Strip out any scheme name from the
		// given URI before passing it along.
		url = url.replace('https://', 'http://');

		url = url.replace(siteURL.replace('https://', 'http://'), '');

		pageTracker._trackPageview(url);

	}

	return true;
}

function changeStepSection(step_id) {

	for (var i = 0; i < numStepSections; i++) {
		el = document.getElementById('step_' + i);

		if (el) {
			if (step_id == 'step_' + i) {

				el.className = 'active';
				el.innerHTML = '<img id="' + step_id  + '_img" src="' + imgDir + '/common/arrows/arrow_green_triangle.gif" alt="green arrow" style="width: 5px; height: 11px; vertical-align: middle;"/> ' + el.innerHTML;

			} else {

				el.className = '';

				elImg = document.getElementById('step_' + i + '_img');

				if (elImg) {
					el.removeChild(elImg);
				}

			}
		}
	}

}

function promptLogin(redirectURL, ssl, elToHide) {

	var t = this.title || this.name || null;
	var a = siteURL+'/loginajax/?width=420&height=300&closer=no&modal=true&redirectURL=' + urlencode(redirectURL);

	if (ssl == 'ssl') {
		a += '&redirectSSL=1';
	}
	
	var g = this.rel || false;

	tb_show(t,a,g, elToHide);

}

function processLogin(form, elToReplace) {

	xmlHttp=getXmlHttpObject();

	xmlHttp.onreadystatechange = function() {

		if (xmlHttp.readyState == 4) {

			var response = xmlHttp.responseText.split('|', 2);

			if (response[0]  == 'success') {

				window.location = response[1];

				return false;

			} else {

				el = document.getElementById(elToReplace);

				if (el) {

					el.innerHTML = xmlHttp.responseText;

				}

				return false;

			}

		} else {

		}
	}

	var url = siteURL + '/loginajax';

	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var postVars = '';

	for (var i=0; i<form.length; i++) {
		postVars += '&' + form.elements[i].name + '=' + form.elements[i].value;
	}

	//alert(postVars);

	//return false;

	el = document.getElementById(elToReplace);

	if (el) {

		el.innerHTML = loadingGraphic;

	}

	xmlHttp.send(postVars);

	return false;

}

// to quickly create a javascript popup
function popupAndFocusWindow(url, windowName, features){

   var popup = window.open(url, windowName, features);
   popup.focus();
   return false;
}
