/* 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) >= 0.0);

	}

	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,rLink)

{

  flashINIT(v);

  if (MM_FlashCanPlay) 

  {

    writeFlash(flashName,flashSource,imgSource,w,h,v,vars,alpha,rLink);

  }else{

	if(imgSource != ""){

		if(!rLink || rLink == ""){

			document.write('<a href="http://www.macromedia.com/go/getflashplayer" target="_blank"><img src="'+ imgSource +'" width="'+ w +'" height="'+ h +'" border=0></a>');

		}else if(rLink == "none"){

			document.write('<img src="'+ imgSource +'" width="'+ w +'" height="'+ h +'" border=0>');

		}else{

			if(rLink.indexOf("http",0)>-1){

				document.write('<a href="'+rLink+'" target="_blank"><img src="'+ imgSource +'" width="'+ w +'" height="'+ h +'" border=0></a>');

			}else{

				document.write('<a href="'+rLink+'"><img src="'+ imgSource +'" width="'+ w +'" height="'+ h +'" border=0></a>');	

			}

		}

	}

  }

}



function writeFlash(flashName,flashSource,imgSource,w,h,v,vars,alpha,rLink)//straight flash write no detection

{

	if(!alpha || 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;

	}

}







function postIHForm(oForm){

	var qs = "";



	qs = qs + "?hotelid=" + oForm.HotelID.value;

	if (oForm.LanguageID) { qs = qs + "&languageid=" + oForm.LanguageID.value}

	qs = qs + "&datein=" + oForm.DateIn.value;

	if (oForm.Length) { qs = qs + "&length=" + oForm.Length.value }

	if (oForm.DateOut) { qs = qs + "&dateout=" + oForm.DateOut.value }

	qs = qs + "&Adults=" + oForm.Adults.value;

	if (oForm.Children) { qs = qs + "&children=" + oForm.Children.value }



	 _gaq.push(function() {

        		var tracker = _gat._getTrackerByName(); 

			if (oForm.LanguageID) {

				if (oForm.LanguageID.value != "1") {

					window.open(tracker._getLinkerUrl('https://booking.ihotelier.com/istay/istay.jsp' + qs)); // Non-English, languageid != 1

				}

				else {

					window.open(tracker._getLinkerUrl('https://reservations.ihotelier.com/crs/index.cfm' + qs)); // English, languageid == 1

				}

			}

			else {

				window.open(tracker._getLinkerUrl('https://reservations.ihotelier.com/crs/index.cfm' + qs)); // Default to English, languageid not defined

			}

     	 	});

}





function IHreservations(theUrl){

	var qs = new String(theUrl);

	_gaq.push(function() {

		var tracker = _gat._getTrackerByName(); 

		if (qs.indexOf("LanguageID=") > 1 ) {

			if (qs.substr(qs.indexOf("LanguageID=")+11,1) != "1") {

				window.open(tracker._getLinkerUrl('https://booking.ihotelier.com/istay/istay.jsp' + qs)); // Non-English, languageid != 1

			}

			else {

				window.open(tracker._getLinkerUrl('https://reservations.ihotelier.com/crs/index.cfm' + qs)); // English, languageid == 1

			}

		}

		else {

			window.open(tracker._getLinkerUrl('https://reservations.ihotelier.com/crs/index.cfm' + qs)); // Default to English, languageid not defined

		}

     	 });   	

}





function IHSpecials(theSpecialsUrl){

	_gaq.push(function() {

        	var tracker = _gat._getTrackerByName(); 

        		window.open(tracker._getLinkerUrl(theSpecialsUrl));

     	 });

}




