/* Function List */
// newWindow(theURL,winName,features)
// makeNewWindow(URL,winname,features)
//od_displayImage(strId,strPath,intWidth,intHeight,strClass,strAlt)
//setimage(name, source)
//Navigo()
//NavigoNew()
//writeFlashVersionDetect(flashName,flashSource,imgSource,w,h,v,vars)
//adjustLayout(elementID,idHeight,imgpath,imgname)

/* start.New Window Functions */
// Current Method
function newWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}
// Blueprint Method
var newWindow = null
function makeNewWindow(URL,winname,features) {
	// open window with given name, bring it forward
	newWindow = window.open(URL,winname,features);
	newWindow.focus()
}
/* end.New Window Functions */

/* start.Detect Browser */
function BrowserDetectLite() {
	var ua = navigator.userAgent.toLowerCase(); 
	this.ua = ua;
	// browser name
	this.isGecko     = (ua.indexOf('gecko') != -1);
	this.isMozilla   = (this.isGecko && ua.indexOf("gecko/") + 14 == ua.length);
	this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
	this.isIE        = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) ); 
	this.isOpera     = (ua.indexOf("opera") != -1); 
	this.isKonqueror = (ua.indexOf("konqueror") != -1); 
	this.isIcab      = (ua.indexOf("icab") != -1); 
	this.isAol       = (ua.indexOf("aol") != -1); 
	this.isWebtv     = (ua.indexOf("webtv") != -1); 
	this.isOmniweb   = (ua.indexOf("omniweb") != -1);
	this.isDreamcast   = (ua.indexOf("dreamcast") != -1);
	// spoofing and compatible browsers
	this.isIECompatible = ( (ua.indexOf("msie") != -1) && !this.isIE);
	this.isNSCompatible = ( (ua.indexOf("mozilla") != -1) && !this.isNS && !this.isMozilla);
	// browser version
	this.versionMinor = parseFloat(navigator.appVersion); 
	// correct version number for NS6+ 
	if (this.isNS && this.isGecko) {
		this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
	}
	// correct version number for IE4+ 
	else if (this.isIE && this.versionMinor >= 4) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
	}
	// correct version number for Opera 
	else if (this.isOpera) {
	  	if (ua.indexOf('opera/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
		}
	}
	// correct version number for Konqueror
	else if (this.isKonqueror) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
	}
	// correct version number for iCab 
	else if (this.isIcab) {
		if (ua.indexOf('icab/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
		}
	}
	// correct version number for WebTV
	else if (this.isWebtv) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('webtv/') + 6 ) );
	}
	
	this.versionMajor = parseInt(this.versionMinor); 
	this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
	
	// platform
	this.isWin   = (ua.indexOf('win') != -1);
	this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1) );
	this.isMac   = (ua.indexOf('mac') != -1);
	this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('linux') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
	
	// specific browser shortcuts
	this.isNS4x = (this.isNS && this.versionMajor == 4);
	this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
	this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
	this.isNS4up = (this.isNS && this.versionMinor >= 4);
	this.isNS6x = (this.isNS && this.versionMajor == 6);
	this.isNS6up = (this.isNS && this.versionMajor >= 6);
	this.isIE4x = (this.isIE && this.versionMajor == 4);
	this.isIE4up = (this.isIE && this.versionMajor >= 4);
	this.isIE5x = (this.isIE && this.versionMajor == 5);
	this.isIE55 = (this.isIE && this.versionMinor == 5.5);
	this.isIE5up = (this.isIE && this.versionMajor >= 5);
	this.isIE6x = (this.isIE && this.versionMajor == 6);
	this.isIE6up = (this.isIE && this.versionMajor >= 6);
	this.isIE4xMac = (this.isIE4x && this.isMac);
}
var browser = new BrowserDetectLite();
/* end.Detect Browser */

/* start.Display PNG */
function OpacityObject(divId, strPath) {
	this.id = divId;
	this.path = strPath;
	if (ns){
		if (browserVersion>=5) {
			this.layerObject = document.getElementById(divId).style;
		} else {
			this.layerObject = eval("document."+divId);
		}
	} else {
		this.layerObject = eval(divId + ".style");
	}
	this.setBackground = od_object_setBackground;
}

function od_object_setBackground() {	
	if (pngAlpha) {
		this.layerObject.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.path+".png', sizingMethod='scale')";
	} else if (pngNormal) {
		this.layerObject.backgroundImage = 'url('+this.path+'.png)';
	} else {
		this.layerObject.backgroundImage = 'url('+this.path+'.gif)';
	}
}

function od_displayImage(strId, strPath, intWidth, intHeight, strClass, strAlt) {	
	if (pngAlpha) {
		document.write('<div style="height:'+intHeight+'px;width:'+intWidth+'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+strPath+'.png\', sizingMethod=\'scale\')" id="'+strId+'" class="'+strClass+'"></div>');
	} else if (pngNormal) {
		document.write('<img src="'+strPath+'.png" width="'+intWidth+'" height="'+intHeight+'" name="'+strId+'" border="0" class="'+strClass+'" alt="'+strAlt+'" />');
	} else {
		document.write('<img src="'+strPath+'.gif" width="'+intWidth+'" height="'+intHeight+'" name="'+strId+'" border="0" class="'+strClass+'" alt="'+strAlt+'" />');
	}
}

if ((browser.isIE55 || browser.isIE6up) && browser.isWin32) {
	var pngAlpha = true;
	var strExt = ".png";

} else if ((browser.isGecko) || (browser.isIE5up && browser.isMac) || (browser.isOpera && browser.isWin && browser.versionMajor >= 6) || (browser.isOpera && browser.isUnix && browser.versionMajor >= 6) || (browser.isOpera && browser.isMac && browser.versionMajor >= 5) || (browser.isOmniweb && browser.versionMinor >= 3.1) || (browser.isIcab && browser.versionMinor >= 1.9) || (browser.isWebtv) || (browser.isDreamcast)) {
	var pngNormal = true;
	var strExt = ".png";

} else {
	var strExt = ".gif";
}

var ns = (document.all)?false:true;
var browserVersion = parseFloat(navigator.appVersion );

/* start.Rollover Script */
function setimage(name, source)
{document.images[name].src = source; return true;}
/* end.Rollover Script */

/* start.Pulldown Navigation */
// Same Window
function Navigo() {
	var popup = eval("document.NavigotronForm.elements['Navigotron']");
	var dest  = popup[popup.selectedIndex].value;
	if (dest == '') popup.selectedIndex = 0;
	else window.open(dest, '_top');
}
// New Window
function NavigoNew() {
	var popup = eval("document.NavigotronForm.elements['Navigotron']");
	var dest  = popup[popup.selectedIndex].value;
	if (dest == '') popup.selectedIndex = 0;
	else window.open(dest, '_blank');

}
/* end.Pulldown Navigation */

/* start.Flash */
function flashINIT(v)
{
	MM_FlashCanPlay = 0;
	MM_contentVersion = v;
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
	if ( plugin ) {
			var words = navigator.plugins["Shockwave Flash"].description.split(" ");
			for (var i = 0; i < words.length; ++i)
			{
			if (isNaN(parseInt(words[i])))
			continue;
			var MM_PluginVersion = words[i]; 
			}
		MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
	}
	else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && (navigator.appVersion.indexOf("Win") != -1)) {
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
		document.write('on error resume next \n');
		document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
		document.write('</SCR' + 'IPT\> \n');
	}
}

function writeFlashVersionDetect(flashName,flashSource,imgSource,w,h,v,vars,alpha)
{
  flashINIT(v);
  if (MM_FlashCanPlay) 
  {
    writeFlash(flashName,flashSource,imgSource,w,h,v,vars,alpha);
  }else{
	document.write('<a href="http://www.macromedia.com/go/getflashplayer" target="_blank"><img src="'+ imgSource +'" width="'+ w +'" height="'+ h +'" border=0></a>');
  }
}

function writeFlash(flashName,flashSource,imgSource,w,h,v,vars,alpha)//straight flash write no detection
{
	if(!alpha){
		alpha = "opaque";	
	}
		document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
		document.write('  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+ v +',0,0,0" ');
		document.write(' ID="'+ flashName +'" WIDTH="'+ w +'" HEIGHT="'+ h +'" ALIGN="">');
		document.write(' <PARAM NAME=movie VALUE="'+ flashSource +'?'+ vars +'"><PARAM NAME=quality VALUE=high><param name=wmode value='+alpha+'><PARAM NAME=menu VALUE=false>');
		document.write(' <EMBED src="'+ flashSource +'?'+ vars +'" quality=high menu="false" wmode="'+alpha+'"');
		document.write(' swLiveConnect=FALSE WIDTH="'+ w +'" HEIGHT="'+ h +'" NAME="'+ flashName +'" ALIGN=""');
		document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
		document.write(' </EMBED>');
		document.write(' </OBJECT>');
}
/* end.Flash */

/* start.Show or Hide Image By Layout Height */
function publishImageByHeight(elementID,idHeight,imgpath,imgname) {
	var layerHeight = document.getElementById(elementID).offsetHeight;
	if (layerHeight >= idHeight) { setimage(imgname,imgpath); }
	else {  }
}
/* end.Show or Hide Image By Layout Height */

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function correctPNG() {
	for(var i=0; i<document.images.length; i++) {
		var img = document.images[i]
		var imgName = img.src.toUpperCase()
		if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
			var imgID = (img.id) ? "id='" + img.id + "' " : ""
			var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			var imgStyle = "display:inline-block;" + img.style.cssText 
			if (img.align == "left") imgStyle = "float:left;" + imgStyle
			if (img.align == "right") imgStyle = "float:right;" + imgStyle
			if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
			var strNewHTML = "<span " + imgID + imgClass + imgTitle
			+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			+ "(src=\'" + img.src + "\', sizingMethod='scale'); visibility:visible\"></span>" 
			img.outerHTML = strNewHTML
			i = i-1
		}
	}
}

// Note: This function only renders the beginning DIV tag. You need to input the content and the close DIV tag.
function renderPNGBG(name,path,style,repeat,transform) {
	alert('como?');
	document.write('<div id="' + name + '" style="' + style);
	if (pngAlpha) { document.write('filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + path + name + '.png\', sizingMethod=\'' + transform + '\');'); }
	else { document.write('background:url(' + path + name + '.png) left top ' + repeat + ';'); }
	document.write('">');
}

function adjustDivs(firstID,secondID,firstPadding,secondPadding,firstIDset,secondIDset)
{
	var fHeight = xHeight(firstID);
	var fHeightAdd = (firstPadding);
	var fHeightNew = (parseInt(fHeight) + parseInt(fHeightAdd));
	var sHeight = xHeight(secondID);
	var sHeightAdd = (secondPadding);
	var sHeightNew = (parseInt(sHeight) + parseInt(sHeightAdd));
	var maxHeight = Math.max(fHeightNew,sHeightNew);

	xHeight(firstIDset, maxHeight);
	xHeight(secondIDset, maxHeight);
}

// This is the content photo overlay JS

function addFrame(myid,targetClass,holderClass,frameClass,framePath){
	var newArray = new Array();
	var newArray2 = new Array();
	var newElements = new Array();
	var myElem = new Array();
	myElem = document.getElementsByTagName(myid);
	for(i=0; i<myElem.length; i++){
		if(myElem[i].className == targetClass){
			newArray.push(myElem[i]);
		}
	}
	for(x in newArray[0]){
		<!--document.write(x+" = "+newArray[0][x]+"<br>");-->
	}

	for(i=0; i<newArray.length;i++){
		newArray[i].innerHTML = "<div class='"+holderClass+"'><div class='"+frameClass+"'><img src='"+framePath+"' \/><\/div>"+newArray[i].innerHTML+"</div>";
	}
	
	newElements = document.getElementsByTagName("div");
	for(i=0; i<newElements.length; i++){
		if(newElements[i].className == "imgRFrame"){
			newArray2.push(newElements[i]);
		}
	}	
}

/*
Add Div Elements - allows the adding of multiple div elements to a targeted html tag with an associated class

***example usage***
//this script goes before the closing body tag
<script language="javascript">addDivElements("td","tdClass","wrapperClass","comma dilimited list of new div classes","comma dilimited list of paths to image elements to insert in new divs...if no element then have an empty space.");</script>

*******************
*/
function addDivElements(htmlTag,targetClass,wrapper,divs,elements){
	var tagArray = new Array();
	var allTags = new Array();
	var newDivArray = divs.split(",");
	var newElementArray = elements.split(",");
	var oldHTML = "";
	
	//returns all items based on htmlTag property usually all TD's
	allTags = document.getElementsByTagName(htmlTag);
	
	//filters htmlItems by targetClass
	for(i=0; i<allTags.length; i++){ 
		if(allTags[i].className == targetClass){
			tagArray.push(allTags[i]);
		}
	}

	//loop through filtered tagArray and insert appropriate items
	for(i=0; i<tagArray.length;i++){
		var tempHTML = "<div class='"+wrapper+"'>";
		
		for(x=0; x<newDivArray.length;x++){
			if(newElementArray[x].length > 0){
				tempHTML = tempHTML+"<div class='"+newDivArray[x]+"'><img src='"+newElementArray[x]+"' \/><\/div>";	
			}else{
				tempHTML = tempHTML+"<div class='"+newDivArray[x]+"'><\/div>";
			}
		}
		tempHTML = tempHTML + tagArray[i].innerHTML+"</div>";
		tagArray[i].innerHTML = tempHTML;
	}
}

function replaceDivContent(htmlTag,targetClass,wrapper,divs,elements){
	var tagArray = new Array();
	var allTags = new Array();
	var newDivArray = divs.split(",");
	var newElementArray = elements.split(",");
	var oldHTML = "";
	
	//returns all items based on htmlTag property usually all TD's
	allTags = document.getElementsByTagName(htmlTag);
	
	//filters htmlItems by targetClass
	for(i=0; i<allTags.length; i++){ 
		if(allTags[i].className == targetClass){
			tagArray.push(allTags[i]);
		}
	}

	//loop through filtered tagArray and insert appropriate items
	for(i=0; i<tagArray.length;i++){
		var tempHTML = "<div class='"+wrapper+"'>";
		
		for(x=0; x<newDivArray.length;x++){
			if(newElementArray[x].length > 0){
				tempHTML = tempHTML+"<div class='"+newDivArray[x]+"'><img src='"+newElementArray[x]+"' \/><\/div>";	
			}else{
				tempHTML = tempHTML+"<div class='"+newDivArray[x]+"'><\/div>";
			}
		}
		tempHTML = tempHTML + "</div>";
		tagArray[i].innerHTML = tempHTML;
	}
}
