jQuery.noConflict();

jQuery(document).ready(function($) {
	$("label.overlabel").overlabel();
	applyStyles($);
});

function applyStyles($) {
	$(".dataTable").each(function(i) {
		$(this).find("tbody tr:odd").css('background-color', '#EEE');
	})
	$(".rich-table").each(function(i) {
		$(this).find("tr.rich-table-firstrow:odd").css('background-color', '#EEE');
	})

	$(".command-sourceZZZ").find(".command-target").hide().end().hover(
		function() {
			$(this).find(".command-target").show();
		},
		function() {
			$(this).find(".command-target").hide();
		}
	);
}

function afterAjaxRequest() {
	applyStyles(jQuery);
}

function showLinkInMsg(_msg) {

	if (_msg != null && _msg.indexOf('&lt;') != -1) {
			return _msg.replaceAll('&lt;','<').replaceAll('&gt;','>');
	} else {
		return _msg;
	}
}


function escapes(_document,bIsIframe) {

	if(!_document) _document=document;
	/*
	tgs2 = _document.getElementsByTagName('script');
	//alert(tgs2.length);
	if (!tgs2) return;
	for (var i=0;i<tgs2.length;i++) {
		//alert(tgs2[i].src);
		//alert(tgs2[i].innerHTML);
		//alert(getOuterHTML(tgs2[i]));
		//if (tgs2[i].innerHTML.indexOf('doubleclick') != -1) {
		//if (tgs2[i].innerHTML.indexOf('toto') != -1) {
		if (tgs2[i].src.indexOf('doubleclick') != -1) {
			//alert(tgs2[i].outerHTML);
			//alert(tgs2[i].innerHTML);
			//alert(getOuterHTML(tgs2[i]));
			//alert(tgs2[i].src);
			//alert(tgs2[i].language);
		}
	}
	*/

	tgs = _document.getElementsByTagName('label');
	if (!tgs) return;
	for (var i=0;i<tgs.length;i++) {
		//alert(tgs[i].innerHTML);
		if (tgs[i].innerHTML.indexOf('/&lt;') != -1) {
			tgs[i].innerHTML = tgs[i].innerHTML.replaceAll('/&lt;','<').replaceAll('&gt;/','>');
		}
	}

	/*tgs = _document.getElementsByTagName('td');
	if (!tgs) return;
	for (var i=0;i<tgs.length;i++) {
		//alert(tgs[i].innerHTML);
		if (tgs[i].innerHTML.indexOf('&lt;') != -1) {
			tgs[i].innerHTML = tgs[i].innerHTML.replaceAll('&lt;','<').replaceAll('&gt;','>');
		}
	}*/

}

String.prototype.replaceAll = function(from, to) {
	var i = this.indexOf(from);
	var c = this;
	while (i > -1) {
      c = c.replace(from, to);
      i = c.indexOf(from);
    }
	return c;
}

function getOuterHTML(object) {
	var element;
	if (!object) return null;
	element = document.createElement("div");
	element.appendChild(object.cloneNode(true));
	return element.innerHTML;
}

function startUp() {
	escapes();
}

function startDown() {
}

function get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if (!start)
      if (name != document.cookie.substring(0,name.length)) return null;
    if (start == -1)
        return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

function set_Cookie(name, value, expiredays) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString() + ";path=/");
}

//will comment out the counter code for now
function textCounter(field, countfield, maxlimit) {

	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
/*	else
	{
	   var cnt = document.getElementById("mainform:" + countfield);
	   cnt.value = maxlimit - field.value.length;
	}
*/
}

/** Standard popup window open
 * The first parameter will be the new URL.
 * Subsequent parameters will be (if supplied) the width and height.
 * If not specified the width and height will be 955 and 755 respectively.
 */
function openWin()
{
	var url, width=970, height=750, screenX=0, screenY=0, toolbar="no", menubar="no", scrollbars="yes", resizable="yes";
	var args = arguments;

	url = args[0];
	if (args.length>1)
	{
		width=args[1];
	}
	if (args.length>2)
	{
		height=args[2];
	}

	window.open (url, '_blank', 'width='+width+',height='+height+',screenX='+screenX+',screenY='+screenY+',scrollbars='+scrollbars+',toolbar='+toolbar+',menubar='+menubar+',resizable='+resizable);

	return false;
}

var METRIC = "METRIC";
var KM = 'Km';
var MI = 'Mi';
var METERS = "m";
var SQM = "m2"
var FEET = "Ft.";
var SQFT = "Sq. Ft.";


var FT_TO_METER  = 0.3048 ;
var METER_TO_FT	 = 3.2808 ;

var SQFT_TO_METER = 0.092903;
var METER_TO_SQFT = 10.7639;

var FT_TO_METER	= 0.3048;
var METER_TO_FT = 3.2808 ;

var MILES_TO_KM = 1.6093;
var KM_TO_MILES = 0.6214;


  function verifyNAN (value)
  {
  	 if (isNaN(value))
  	   return 0;
  	 return value;
  }

  function airportConversion(unit)
  {
      var airport 		= document.getElementById("mainform:distanceToAirportInput");
      var convention 	= document.getElementById("mainform:distanceToConventionCenterInput");

      var airportSuffix  = document.getElementById("mainform:distanceToAirportSuffix");
      var conventionSuffix  = document.getElementById("mainform:distanceToConventionCenterSuffix");

      if (unit.value == METRIC)
      {
             airport.value 		= verifyNAN (Math.round(airport.value * MILES_TO_KM * 10)/10 );
             convention.value 	= verifyNAN (Math.round(convention.value * MILES_TO_KM * 10)/10 );
             airportSuffix.innerHTML	= KM;
             conventionSuffix.innerHTML	= KM;
      }
      else
      {
             airport.value 		=  verifyNAN (Math.round (airport.value * KM_TO_MILES *10)/10);
             convention.value 	=  verifyNAN (Math.round(convention.value * KM_TO_MILES *10)/10);
             airportSuffix.innerHTML	= MI;
             conventionSuffix.innerHTML	= MI;
      }
   }


  function meetingRoomConversion(unit)
  {

      var roomWidth          	= document.getElementById("mainform:roomWidthInput");
      var roomLength	        = document.getElementById("mainform:roomLengthInput");
      var ceilingHeight	        = document.getElementById("mainform:roomCeilingInput");

      var roomWidthSuffix       = document.getElementById("mainform:roomWidthSuffix");
      var roomLengthSuffix	    = document.getElementById("mainform:roomLengthSuffix");
      var ceilingHeightSuffix	= document.getElementById("mainform:roomCeilingSuffix");


      if (unit.value == METRIC)
      {
      	roomWidth.value 		=  verifyNAN (Math.round(roomWidth.value * FT_TO_METER *10)/10 );
        roomLength.value 		=  verifyNAN (Math.round(roomLength.value * FT_TO_METER *10)/10 );
      	ceilingHeight.value 	=  verifyNAN (Math.round(ceilingHeight.value * FT_TO_METER *10)/10 );

      	roomWidthSuffix.innerHTML		= METERS;
      	roomLengthSuffix.innerHTML		= METERS;
      	ceilingHeightSuffix.innerHTML	= METERS;
      }
      else
      {
     	roomWidth.value 		=  verifyNAN (Math.round(roomWidth.value * METER_TO_FT *10)/10 );
        roomLength.value 		=  verifyNAN (Math.round(roomLength.value * METER_TO_FT *10)/10 );
      	ceilingHeight.value 	=  verifyNAN (Math.round(ceilingHeight.value * METER_TO_FT *10)/10 );

      	roomWidthSuffix.innerHTML		= FEET;
      	roomLengthSuffix.innerHTML		= FEET;
      	ceilingHeightSuffix.innerHTML	= FEET;
      }
    }

    function hotelConversion(unit)
    {

      var exhibitSpace 			= document.getElementById("mainform:exhibitSpaceInput");
      var ceilingHeight			= document.getElementById("mainform:ceilingHeightInput");
      var totalMeetingArea		= document.getElementById("mainform:totalMeetingAreaInput");
      var largestMeetingRoom	= document.getElementById("mainform:meetingRoomsAreaInput");

      var exhibitSpaceSuffix 		= document.getElementById("mainform:exhibitSpaceSuffix");
      var ceilingHeightSuffix		= document.getElementById("mainform:ceilingHeightSuffix");
      var totalMeetingAreaSuffix	= document.getElementById("mainform:totalMeetingAreaSuffix");
      var largestMeetingRoomSuffix	= document.getElementById("mainform:meetingRoomsAreaSuffix");


      if (unit.value == METRIC)
      {
	      	exhibitSpace.value 			=  verifyNAN (Math.round(exhibitSpace.value * SQFT_TO_METER *10)/10 );
	      	totalMeetingArea.value 		=  verifyNAN (Math.round(totalMeetingArea.value * SQFT_TO_METER *10)/10);
	      	largestMeetingRoom.value 	=  verifyNAN (Math.round(largestMeetingRoom.value * SQFT_TO_METER *10)/10 );
	      	ceilingHeight.value 		=  verifyNAN (Math.round(ceilingHeight.value * FT_TO_METER *10)/10 );

	      	exhibitSpaceSuffix.innerHTML		= SQM;
	      	totalMeetingAreaSuffix.innerHTML	= SQM;
	      	largestMeetingRoomSuffix.innerHTML	= SQM;
	      	ceilingHeightSuffix.innerHTML		= METERS;
	  }
      else
      {
	      	exhibitSpace.value  		=  verifyNAN (Math.round (exhibitSpace.value  * METER_TO_SQFT *10)/10 );
	      	totalMeetingArea.value  	=  verifyNAN (Math.round (totalMeetingArea.value  * METER_TO_SQFT *10)/10 );
	      	largestMeetingRoom.value  	=  verifyNAN (Math.round (largestMeetingRoom.value  * METER_TO_SQFT *10)/10 );
	      	ceilingHeight.value 		=  verifyNAN (Math.round (ceilingHeight.value * METER_TO_FT *10)/10 );

	     	exhibitSpaceSuffix.innerHTML		= SQFT
	     	totalMeetingAreaSuffix.innerHTML	= SQFT
	     	largestMeetingRoomSuffix.innerHTML	= SQFT
	     	ceilingHeightSuffix.innerHTML		= FEET;
      }
    }

    function rfpAreaUnitConversion(unit)
    {
      var meetingSpace 			= document.getElementById("rfpform:meetingSpace");
      var exhibitSpace			= document.getElementById("rfpform:exhibitSpace");

      var meetingSpaceSuffix 	= document.getElementById("rfpform:meetingSpaceSuffix");
      var exhibitSpaceSuffix	= document.getElementById("rfpform:exhibitSpaceSuffix");

      if (unit.value == METRIC)
      {
	      	meetingSpace.value 	=  verifyNAN (Math.round(meetingSpace.value * SQFT_TO_METER *10)/10 );
	      	exhibitSpace.value 	=  verifyNAN (Math.round(exhibitSpace.value * SQFT_TO_METER *10)/10);

	      	meetingSpaceSuffix.innerHTML	= SQM;
	      	exhibitSpaceSuffix.innerHTML	= SQM;
	  }
      else
      {
	      	meetingSpace.value  =  verifyNAN (Math.round (meetingSpace.value  * METER_TO_SQFT *10)/10 );
	      	exhibitSpace.value  =  verifyNAN (Math.round (exhibitSpace.value  * METER_TO_SQFT *10)/10 );

	     	meetingSpaceSuffix.innerHTML	= SQFT
	     	exhibitSpaceSuffix.innerHTML	= SQFT
      }
    }

/* no longer called as of Aug 2008 */
	function checkIncentiveworksCookie()
	{
	   	var incentiveworks = get_Cookie('incentiveworks');
	   	var expiredays = 7;
		if (incentiveworks == null || incentiveworks == "")
		{
			set_Cookie('incentiveworks','incentiveworks', expiredays);
			window.open('iwRegistration.html','incentiveworks','top=300,left=430,width=550,height=349,scrollbars=0,menubar=0,toolbar=0,resizable=0');
		}
	}

	function showHide(shID) {
		if (document.getElementById(shID)) {
			if (document.getElementById(shID+'-show').style.display != 'none') {
				document.getElementById(shID+'-show').style.display = 'none';
				document.getElementById(shID+'-hide').style.display = 'inline';
				document.getElementById(shID).style.display = 'block';
			}
			else {
				document.getElementById(shID+'-show').style.display = 'inline';
				document.getElementById(shID+'-hide').style.display = 'none';
				document.getElementById(shID).style.display = 'none';
			}
		}
	}

	/* Function getAdSpot calls Dart's ad for CMC depending of the language received by parameter. */
	function getAdSpot(site, language, tile, width, height) {
		if (language != undefined && language != "") {
			var zone = language.toLowerCase() == "fr" ? "french" : "_default";
			//alert("AdSpot(" + site + ", " + zone + ", " + tile + ", " + width + ", " + height + ");");
			AdSpot(site, zone, tile, width, height);
		}
	}

window.onload = startUp;
window.onunload = startDown;
