// JavaScript Document

///UTILITIES////
function loaders(jsonStrFns){
	for (t=0;t<jsonStrFns.length;t++){
		valueStr='';
		for (v=0;v<jsonStrFns[t][1].length;v++){
			valueStr+="'"+jsonStrFns[t][1][v]+"'";
			if (v!=jsonStrFns[t][1].length-1){valueStr+=",";}	
		}
		functionStr=jsonStrFns[t][0]+"("+valueStr+")";
		eval(functionStr);		
	}
}
function btn_overs(sel, newImage){
	var theImage=document.getElementById(sel);
	theImage.src=newImage;
}
function createLoaderDiv(divId){
	var newdiv = document.createElement('div');
	newdiv.setAttribute('id', divId);
	document.getElementById("preloadDiv").appendChild(newdiv);
}
function removeLoaderDiv(divId){//preloadDiv the parent Div
	var child = document.getElementById(divId);
	var parent = document.getElementById("preloadDiv");
	parent.removeChild(child);
}
//END UTILITIES///



////FLASH EMBED STUFF///////
function setTitle(title,theDiv){
	var flash='/images/siteAssets/titles/pageTitle.swf?theText='+title;	
	loadFlashInDiv(flash,theDiv);
}
function setHomeTitles(t1,t2,t3){
	var flash='';
	for (x=1;x<=3;x++){
		flash='/images/siteAssets/titles/pageTitle.swf?theText='+eval('t'+x);
		loadFlashInDiv(flash,'title_col'+x);	
	}
}
function loadFlashInDiv(flash,theDiv){
	var flash_width="100%";
	var flash_height="100%";
	var version='8,0,24,0';
	var str='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+version+'" width="'+flash_width+'" height="'+flash_height+'">';
	str+='<param name="movie" value="'+flash+'"><param name="quality" value="high"><param name="wmode" value="transparent"><param name="SCALE" value="noborder">';
	str+='<embed src="'+flash+'" width="'+flash_width+'" height="'+flash_height+'" wmode="transparent" scale="noborder" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>';
	var theTarg=document.getElementById(theDiv);
	theTarg.innerHTML=str;
	new Effect.Opacity(theTarg, { from: 0, to: 1 });
}
/////END FLASH EMBED STUFF




////CONTENT SWAP WITH FADE
function fadeInSecondary(targetDiv,contentHolder){
	createLoaderDiv("onDeck");
	createLoaderDiv("changeThis");
	document.getElementById('changeThis').innerHTML=targetDiv;
	document.getElementById('onDeck').innerHTML=document.getElementById(contentHolder).innerHTML;
	var theTarg=document.getElementById(targetDiv);
	var onDeckDiv=document.getElementById('onDeck');
	onDeckDiv.style.width=theTarg.style.width;
	var theTargWrap=targetDiv+'Wrap';
	theHeight=document.getElementById(theTargWrap).style.height;
	if (theTarg.style.display!="none"){//fade out what's there
		new Effect.Fade(theTarg, {duration: 0.2, afterFinish: function() {document.getElementById(theTargWrap).style.height=onDeckDiv.offsetHeight+'px';loadTextAndAppear();} });
	}else{
		document.getElementById(theTargWrap).style.height=onDeckDiv.offsetHeight+'px';
		loadTextAndAppear();	
	}
}
function loadTextAndAppear(){
	var targetDiv=document.getElementById('changeThis').innerHTML;
	var theTarg=document.getElementById(targetDiv);
	var onDeckDiv=document.getElementById('onDeck');
	onDeckDiv.style.width=theTarg.style.width;
	theTarg.style.height=onDeckDiv.offsetHeight;	
	theTarg.style.display="none";
	theTarg.innerHTML=onDeckDiv.innerHTML;
	Effect.Appear(theTarg, { duration: 0.5 });
	
	removeLoaderDiv("onDeck");
	removeLoaderDiv("changeThis");
}

function startNewsTicker(){
	createLoaderDiv('tickerCounter');
	document.getElementById('tickerCounter').innerHTML='0';
	makeNewHeadline();
}
function makeNewHeadline(){
	var hidersUl=document.getElementById('headlineHiders');
	var lis=hidersUl.getElementsByTagName('li');
	var counter=document.getElementById('tickerCounter').innerHTML;
	
	createLoaderDiv("headerOnDeck");
	var onDeckDiv=document.getElementById('headerOnDeck');
	
	if (typeof(lis[counter]) == 'undefined'){
		counter=0;
		document.getElementById('tickerCounter').innerHTML='0';
	}
	
	onDeckDiv.innerHTML=lis[counter].innerHTML;
	
	var theTarg=document.getElementById("news");
	if (theTarg.innerHTML!=onDeckDiv.innerHTML){
		if (theTarg.style.display!="none"){//fade out what's there
			new Effect.Fade(theTarg, {duration: 0.4, afterFinish: function() {loadHeadlineAndAppear();} });
		}else{
			loadHeadlineAndAppear();	
		}
	}
}
function loadHeadlineAndAppear(){
	var theTarg=document.getElementById("news");
	var onDeckDiv=document.getElementById('headerOnDeck');
	theTarg.style.display="none";
	theTarg.innerHTML=onDeckDiv.innerHTML;
	Effect.Appear(theTarg, { duration: 0.5, afterFinish: function() {readHeadlineBuffer();} });
	var counter=parseInt(document.getElementById('tickerCounter').innerHTML)+1;
	if (counter>4){counter=0;}
	document.getElementById('tickerCounter').innerHTML=counter;
}
function readHeadlineBuffer(){
	//dummy function for delay
	Effect.Appear(document.getElementById('tickerCounter'), { duration: 0.5, delay: 3.5, afterFinish: function() {makeNewHeadline();} });
}

function fadeInCatSpots(id){
	createLoaderDiv("nextText");
	createLoaderDiv("nextList");
	createLoaderDiv("nextVid");
	
	xajax_registerCatalogSelections(id,'');
	
	if (id=='41'){
		document.getElementById("toggleBtn").style.display="none";
		document.getElementById("toggleBtnNOHD").style.display="block";
	}else{
		document.getElementById("toggleBtn").style.display="block";
		document.getElementById("toggleBtnNOHD").style.display="none";
	}
	
	var theTextDiv='catalogText'+id;
	var theListDiv='catalogList'+id;
	var theVidDiv='catalogVid'+id;
	
	document.getElementById('nextText').innerHTML=document.getElementById(theTextDiv).innerHTML;
	document.getElementById('nextList').innerHTML=document.getElementById(theListDiv).innerHTML;
	document.getElementById('nextVid').innerHTML=document.getElementById(theVidDiv).innerHTML;
	
	var theTarg=document.getElementById('catalogSpots');

	if (theTarg.style.display!="none"){//fade out what's there
		new Effect.Fade(theTarg, {duration: 0.2, afterFinish: function() {loadVidAndAppear();} });
	}else{
		loadVidAndAppear(id);	
	}
}

function loadVidAndAppear(){
	var id=document.getElementById('nextVid').innerHTML;
	var vidFrame='<iframe src="/cms/get/pro/sp_video.php?id='+id+'" width="480" height="305" frameborder="0" scrolling="no" allowtransparency="true" name="vidPlayer" id="vidPlayer"></iframe>';
	
	var theWrap=document.getElementById('catalogSpotsWrap');
	var theTarg=document.getElementById('catalogSpots');
	theTarg.style.display="none";
	
	document.getElementById('catalogText').innerHTML=document.getElementById('nextText').innerHTML;
	document.getElementById('catalogList').innerHTML=document.getElementById('nextList').innerHTML;
	document.getElementById('catalogVid').innerHTML=vidFrame;
	
	Effect.Appear(theTarg, { duration: 0.5 });
	
	removeLoaderDiv("nextText");
	removeLoaderDiv("nextList");
	createLoaderDiv("nextVid");
}
function loadVid(id,clip){
	document.getElementById('vidPlayer').src='/cms/get/pro/sp_video.php?id='+id+'&clip='+clip;
	xajax_registerCatalogSelections('',clip);
}
//////END CONTENT SWAP STUFF//////////////


/////////DEMO PAGE dyanmic Lists
function submitDemoForm(){
	var format=document.getElementById('format').value;	
	var bitrate=document.getElementById('bitrate').value;	
	var clip=document.getElementById('clip').value;	
	var id=format+'--'+bitrate+'--'+clip;
	if (clip!='Select clip'){
		ajaxpage('/inc/demos.php?id='+id, 'vidStage');
	}
}

var dynamicOptionListCount=0;var dynamicOptionListObjects = new Array();
function initDynamicOptionLists(){for(var i=0;i<dynamicOptionListObjects.length;i++){var dol = dynamicOptionListObjects[i];if(dol.formName!=null){dol.form = document.forms[dol.formName];}else if(dol.formIndex!=null){dol.form = document.forms[dol.formIndex];}else{var name = dol.fieldNames[0][0];for(var f=0;f<document.forms.length;f++){if(typeof(document.forms[f][name])!="undefined"){dol.form = document.forms[f];break;}}if(dol.form==null){alert("ERROR: Couldn't find form element "+name+" in any form on the page! Init aborted");return;}}for(var j=0;j<dol.fieldNames.length;j++){for(var k=0;k<dol.fieldNames[j].length-1;k++){var selObj = dol.form[dol.fieldNames[j][k]];if(typeof(selObj)=="undefined"){alert("Select box named "+dol.fieldNames[j][k]+" could not be found in the form. Init aborted");return;}if(k==0){if(selObj.options!=null){for(l=0;l<selObj.options.length;l++){var sopt = selObj.options[l];var m = dol.findMatchingOptionInArray(dol.options,sopt.text,sopt.value,false);if(m!=null){var reselectForNN6 = sopt.selected;var m2 = new Option(sopt.text, sopt.value, sopt.defaultSelected, sopt.selected);m2.selected = sopt.selected;m2.defaultSelected = sopt.defaultSelected;m2.DOLOption = m;selObj.options[l] = m2;selObj.options[l].selected = reselectForNN6;}}}}if(selObj.onchange==null){selObj.onchange = new Function("dynamicOptionListObjects["+dol.index+"].change(this)");}}}}resetDynamicOptionLists();}
function resetDynamicOptionLists(theform){for(var i=0;i<dynamicOptionListObjects.length;i++){var dol = dynamicOptionListObjects[i];if(typeof(theform)=="undefined" || theform==null || theform==dol.form){for(var j=0;j<dol.fieldNames.length;j++){dol.change(dol.form[dol.fieldNames[j][0]],true);}}}}
function DOLOption(text,value,defaultSelected,selected){this.text = text;this.value = value;this.defaultSelected = defaultSelected;this.selected = selected;this.options = new Array();return this;}
function DynamicOptionList(){this.form = null;this.options = new Array();this.longestString = new Array();this.numberOfOptions = new Array();this.currentNode = null;this.currentField = null;this.currentNodeDepth = 0;this.fieldNames = new Array();this.formIndex = null;this.formName = null;this.fieldListIndexes = new Object();this.fieldIndexes = new Object();this.selectFirstOption = true;this.numberOfOptions = new Array();this.longestString = new Array();this.values = new Object();this.forValue = DOL_forValue;this.forText = DOL_forText;this.forField = DOL_forField;this.forX = DOL_forX;this.addOptions = DOL_addOptions;this.addOptionsTextValue = DOL_addOptionsTextValue;this.setDefaultOptions = DOL_setDefaultOptions;this.setValues = DOL_setValues;this.setValue = DOL_setValues;this.setFormIndex = DOL_setFormIndex;this.setFormName = DOL_setFormName;this.printOptions = DOL_printOptions;this.addDependentFields = DOL_addDependentFields;this.change = DOL_change;this.child = DOL_child;this.selectChildOptions = DOL_selectChildOptions;this.populateChild = DOL_populateChild;this.change = DOL_change;this.addNewOptionToList = DOL_addNewOptionToList;this.findMatchingOptionInArray = DOL_findMatchingOptionInArray;if(arguments.length > 0){for(var i=0;i<arguments.length;i++){this.fieldListIndexes[arguments[i].toString()] = this.fieldNames.length;this.fieldIndexes[arguments[i].toString()] = i;}this.fieldNames[this.fieldNames.length] = arguments;}this.index = window.dynamicOptionListCount++;window["dynamicOptionListObjects"][this.index] = this;}
function DOL_findMatchingOptionInArray(a,text,value,exactMatchRequired){if(a==null || typeof(a)=="undefined"){return null;}var value_match = null;var text_match = null;for(var i=0;i<a.length;i++){var opt = a[i];if(opt.value==value && opt.text==text){return opt;}if(!exactMatchRequired){if(value_match==null && value!=null && opt.value==value){value_match = opt;}if(text_match==null && text!=null && opt.text==text){text_match = opt;}}}return(value_match!=null)?value_match:text_match;}
function DOL_forX(s,type){if(this.currentNode==null){this.currentNodeDepth=0;}var useNode =(this.currentNode==null)?this:this.currentNode;var o = this.findMatchingOptionInArray(useNode["options"],(type=="text")?s:null,(type=="value")?s:null,false);if(o==null){o = new DOLOption(null,null,false,false);o[type] = s;useNode.options[useNode.options.length] = o;}this.currentNode = o;this.currentNodeDepth++;return this;}
function DOL_forValue(s){return this.forX(s,"value");}
function DOL_forText(s){return this.forX(s,"text");}
function DOL_forField(f){this.currentField = f;return this;}
function DOL_addNewOptionToList(a, text, value, defaultSelected){var o = new DOLOption(text,value,defaultSelected,false);if(a==null){a = new Array();}for(var i=0;i<a.length;i++){if(a[i].text==o.text && a[i].value==o.value){if(o.selected){a[i].selected=true;}if(o.defaultSelected){a[i].defaultSelected = true;}return a;}}a[a.length] = o;}
function DOL_addOptions(){if(this.currentNode==null){this.currentNode = this;}if(this.currentNode["options"] == null){this.currentNode["options"] = new Array();}for(var i=0;i<arguments.length;i++){var text = arguments[i];this.addNewOptionToList(this.currentNode.options,text,text,false);if(typeof(this.numberOfOptions[this.currentNodeDepth])=="undefined"){this.numberOfOptions[this.currentNodeDepth]=0;}if(this.currentNode.options.length > this.numberOfOptions[this.currentNodeDepth]){this.numberOfOptions[this.currentNodeDepth] = this.currentNode.options.length;}if(typeof(this.longestString[this.currentNodeDepth])=="undefined" ||(text.length > this.longestString[this.currentNodeDepth].length)){this.longestString[this.currentNodeDepth] = text;}}this.currentNode = null;this.currentNodeDepth = 0;}
function DOL_addOptionsTextValue(){if(this.currentNode==null){this.currentNode = this;}if(this.currentNode["options"] == null){this.currentNode["options"] = new Array();}for(var i=0;i<arguments.length;i++){var text = arguments[i++];var value = arguments[i];this.addNewOptionToList(this.currentNode.options,text,value,false);if(typeof(this.numberOfOptions[this.currentNodeDepth])=="undefined"){this.numberOfOptions[this.currentNodeDepth]=0;}if(this.currentNode.options.length > this.numberOfOptions[this.currentNodeDepth]){this.numberOfOptions[this.currentNodeDepth] = this.currentNode.options.length;}if(typeof(this.longestString[this.currentNodeDepth])=="undefined" ||(text.length > this.longestString[this.currentNodeDepth].length)){this.longestString[this.currentNodeDepth] = text;}}this.currentNode = null;this.currentNodeDepth = 0;}
function DOL_child(obj){var listIndex = this.fieldListIndexes[obj.name];var index = this.fieldIndexes[obj.name];if(index <(this.fieldNames[listIndex].length-1)){return this.form[this.fieldNames[listIndex][index+1]];}return null;}
function DOL_setDefaultOptions(){if(this.currentNode==null){this.currentNode = this;}for(var i=0;i<arguments.length;i++){var o = this.findMatchingOptionInArray(this.currentNode.options,null,arguments[i],false);if(o!=null){o.defaultSelected = true;}}this.currentNode = null;}
function DOL_setValues(){if(this.currentField==null){alert("Can't call setValues() without using forField() first!");return;}if(typeof(this.values[this.currentField])=="undefined"){this.values[this.currentField] = new Object();}for(var i=0;i<arguments.length;i++){this.values[this.currentField][arguments[i]] = true;}this.currentField = null;}
function DOL_setFormIndex(i){this.formIndex = i;}
function DOL_setFormName(n){this.formName = n;}
function DOL_printOptions(name){if((navigator.appName == 'Netscape') &&(parseInt(navigator.appVersion) <= 4)){var index = this.fieldIndexes[name];var ret = "";if(typeof(this.numberOfOptions[index])!="undefined"){for(var i=0;i<this.numberOfOptions[index];i++){ret += "<OPTION>";}}ret += "<OPTION>";if(typeof(this.longestString[index])!="undefined"){for(var i=0;i<this.longestString[index].length;i++){ret += "_";}}document.writeln(ret);}}
function DOL_addDependentFields(){for(var i=0;i<arguments.length;i++){this.fieldListIndexes[arguments[i].toString()] = this.fieldNames.length;this.fieldIndexes[arguments[i].toString()] = i;}this.fieldNames[this.fieldNames.length] = arguments;}
function DOL_change(obj, usePreselected){if(usePreselected==null || typeof(usePreselected)=="undefined"){usePreselected = false;}var changedListIndex = this.fieldListIndexes[obj.name];var changedIndex = this.fieldIndexes[obj.name];var child = this.child(obj);if(child == null){return;}if(obj.type == "select-one"){if(child.options!=null){child.options.length=0;}if(obj.options!=null && obj.options.length>0 && obj.selectedIndex>=0){var o = obj.options[obj.selectedIndex];this.populateChild(o.DOLOption,child,usePreselected);this.selectChildOptions(child,usePreselected);}}else if(obj.type == "select-multiple"){var currentlySelectedOptions = new Array();if(!usePreselected){for(var i=0;i<child.options.length;i++){var co = child.options[i];if(co.selected){this.addNewOptionToList(currentlySelectedOptions, co.text, co.value, co.defaultSelected);}}}child.options.length=0;if(obj.options!=null){var obj_o = obj.options;for(var i=0;i<obj_o.length;i++){if(obj_o[i].selected){this.populateChild(obj_o[i].DOLOption,child,usePreselected);}}var atLeastOneSelected = false;if(!usePreselected){for(var i=0;i<child.options.length;i++){var m = this.findMatchingOptionInArray(currentlySelectedOptions,child.options[i].text,child.options[i].value,true);if(m!=null){child.options[i].selected = true;atLeastOneSelected = true;}}}if(!atLeastOneSelected){this.selectChildOptions(child,usePreselected);}}}this.change(child,usePreselected);}
function DOL_populateChild(dolOption,childSelectObj,usePreselected){if(dolOption!=null && dolOption.options!=null){for(var j=0;j<dolOption.options.length;j++){var srcOpt = dolOption.options[j];if(childSelectObj.options==null){childSelectObj.options = new Array();}var duplicate = false;var preSelectedExists = false;for(var k=0;k<childSelectObj.options.length;k++){var csi = childSelectObj.options[k];if(csi.text==srcOpt.text && csi.value==srcOpt.value){duplicate = true;break;}}if(!duplicate){var newopt = new Option(srcOpt.text, srcOpt.value, false, false);newopt.selected = false;newopt.defaultSelected = false;newopt.DOLOption = srcOpt;childSelectObj.options[childSelectObj.options.length] = newopt;}}}}
function DOL_selectChildOptions(obj,usePreselected){var values = this.values[obj.name];var preselectedExists = false;if(usePreselected && values!=null && typeof(values)!="undefined"){for(var i=0;i<obj.options.length;i++){var v = obj.options[i].value;if(v!=null && values[v]!=null && typeof(values[v])!="undefined"){preselectedExists = true;break;}}}var atLeastOneSelected = false;for(var i=0;i<obj.options.length;i++){var o = obj.options[i];if(preselectedExists && o.value!=null && values[o.value]!=null && typeof(values[o.value])!="undefined"){o.selected = true;atLeastOneSelected = true;}else if(!preselectedExists && o.DOLOption!=null && o.DOLOption.defaultSelected){o.selected = true;atLeastOneSelected = true;}else{o.selected = false;}}if(this.selectFirstOption && !atLeastOneSelected && obj.options.length>0){obj.options[0].selected = true;}else if(!atLeastOneSelected &&  obj.type=="select-one"){obj.selectedIndex = -1;}}
////end dynamic lists///////


////ajax page//
var loadedobjects=""
var rootdomain="http://"+window.location.hostname

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}