/**
 * Loads the "Set this page as homepage" window
 */
function setAsHomepage(obj, url) {
  if (navigator.userAgent.indexOf("MSIE")!=-1) { 
    obj.style.behavior='url(#default#homepage)';
    obj.setHomepage(url);
  }
  else
    alert('Sorry, this function will not work with non-IE browsers.\nTo make ' + url + ' your homepage just drag the URL from your URL box to your HOME icon.');
}

/**
 * Loads the "bookmark this page" window
 */
function bookmark(title,url)
{	 
  if (window.sidebar) { // Mozilla Firefox Bookmark
    window.sidebar.addPanel(title, url,"");
  } else if( window.external ) { // IE Favorite
    window.external.AddFavorite(url, title);
  }
}

/**
 * Email this page link generator
 */
function emailPage() {
  var mailSubject = "?subject=An interesting article at 777.com";
  var mailBody = "&body=Thought you should check out this great article at 777.com:%0D%0A" + document.URL;
  window.location.href="mailto:" + mailSubject + mailBody;
}

/**
 * Switches the options list on the child select with the value array given
 * Used for taxonomy module
 */
function switchOptions(formObj, value, child) {
  for (i = 0, l = formObj.elements[child].options.length; i <= l; i++) {
    formObj.elements[child].options[i] = null;
  }
  j = 0;
  for (i = 0, l = terms[child][value].length; i < l; i++) {
    if (terms[child][value][i])
      formObj.elements[child].options[j++] = new Option(terms[child][value][i], i);
  }
  formObj.elements[child].onchange();
}

/***********************************************
* Cross browser Marquee II- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
var delayb4scroll=1;
var marqueespeed=1;
var pauseit=1;

var copyspeed=marqueespeed;
var pausespeed=(pauseit==0)? copyspeed: 0;
var actualheight='';

function scrollmarquee(){
  if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8))
    cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px";
  else
    cross_marquee.style.top=parseInt(marqueeheight)+8+"px";
}

function initializemarquee() {
  if (document.getElementById("marqueecontainer")) {
    cross_marquee=document.getElementById("vmarquee");
    cross_marquee.style.top=0;
    marqueeheight = document.getElementById("marqueecontainer").offsetHeight;
    actualheight=cross_marquee.offsetHeight;
    if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){
      cross_marquee.style.height=marqueeheight+"px";
      cross_marquee.style.overflow="scroll";
      return;
    }
    setTimeout('lefttime=setInterval("scrollmarquee()",70)', delayb4scroll);
  }
}

/**
 * Tabs functions
 */  
//Set tab to intially be selected when page loads:
//[which tab (1=first tab), ID of tab content to display]:
var initialtab = "";

//Disable hyperlinks in 1st level tab images?
var disabletablinks = 1; //0 for no (default), 1 for yes

var previousdiv = "";
var previoustab = "";
var previoustabclass = "";
var tabtext = "tab";
var containertext = "region";

function expandcontent(id) { //, aobject){
  if (document.getElementById) {
    //highlighttab(aobject)
    if (previousdiv != "") {
      document.getElementById(previousdiv).style.display="none";
    }
    document.getElementById(containertext + id).style.display="block";
    previousdiv = containertext + id;
    if (previoustab != "") {
      document.getElementById(previoustab).className=previoustabclass;
    }
    previoustabclass = document.getElementById(tabtext + id).className;
    document.getElementById(tabtext + id).className = "selected";
    previoustab = tabtext + id;
  }
}

/*function highlighttab(aobject){
  if (typeof tabobjlinks=="undefined")
    collecttablinks()
  for (i=0; i<tabobjlinks.length; i++)
    tabobjlinks[i].className=""
  aobject.className="current"
}

function collecttablinks(){
  var tabobj=document.getElementById("tablist")
  tabobjlinks=tabobj.getElementsByTagName("A")
}
*/
function tabs_do_onload() {
  //collecttablinks();
  inittab = "";
  if (document.URL.indexOf("#") >= 0) {
    inittab = document.URL.substr(document.URL.indexOf("#") + 1);
  }
  else {
    inittab = initialtab;
  }
  expandcontent(inittab); // todo: adapt to show selected tab background
}

/** END TABS FUNCTIONS **/

/**
 * show/hide land based casinos map 
 */
function changeMap(obj) {
  status = document.getElementById('worldMap').style.display;
  if (status == 'none') {
    status = 'block';
    document.getElementById('hide_map').style.display = 'inline';
    document.getElementById('show_map').style.display = 'none';
  }
  else {
    status = 'none';
    document.getElementById('hide_map').style.display = 'none';
    document.getElementById('show_map').style.display = 'inline';
  }
  document.getElementById('worldMap').style.display = status;
}

// Title: tigra slider control
// Description: See the demo at url
// URL: http://www.softcomplex.com/products/tigra_slider_control/
// Version: 1.0 (commented source)
// Date: 02/15/2006
// Tech. Support: http://www.softcomplex.com/forum/
// Notes: This script is free. Visit official site for further details.

/**
 * Additional function for rating purposes.
 * @author A. Pe'er
 */
function updateRatingElements(val, obj) {
  document.getElementById('ratestar').style.width = (val * 28) + 'px';
  document.getElementById('vote-text').innerHTML = val + ' ' + obj.vote_text[val];
  disable = ((val == 0) || (val == obj.org_value));
  submitText = (val == 0) ? obj.submitVoteZero : ((obj.org_value > 0) ? obj.submitVoteUpdate : obj.submitVote);
  theform = document.forms[obj.s_form];
  for (i = 0; i < theform.elements.length; i++) {
    var tempobj = theform.elements[i];
    if (tempobj.type.toLowerCase() == "submit") {
      tempobj.disabled = disable;
      tempobj.value = submitText;
      tempobj.style.cursor = "hand";
    }
  }
}

function slider (a_init, a_tpl) {

	this.f_setValue  = f_sliderSetValue;
	this.f_getPos    = f_sliderGetPos;
	
	// register in the global collection	
	if (!window.A_SLIDERS)
		window.A_SLIDERS = [];
	this.n_id = window.A_SLIDERS.length;
	window.A_SLIDERS[this.n_id] = this;

	// save config parameters in the slider object
	var s_key;
	if (a_tpl)
		for (s_key in a_tpl)
			this[s_key] = a_tpl[s_key];
	for (s_key in a_init)
		this[s_key] = a_init[s_key];

	this.n_pix2value = this.n_pathLength / (this.n_maxValue - this.n_minValue);
	if (this.n_value == null)
		this.n_value = this.n_minValue;

	// generate the control's HTML
	document.write(
		'<div style="width:' + this.n_controlWidth + 'px;height:' + this.n_controlHeight + 'px;border:0; background-image:url(' + this.s_imgControl + ')" id="sl' + this.n_id + 'base">' +
		'<img src="' + this.s_imgSlider + '" width="' + this.n_sliderWidth + '" height="' + this.n_sliderHeight + '" border="0" style="position:relative;left:' + this.n_pathLeft + 'px;top:' + this.n_pathTop + 'px;z-index:' + this.n_zIndex + ';cursor:hand;visibility:hidden;" name="sl' + this.n_id + 'slider" id="sl' + this.n_id + 'slider" onmousedown="return f_sliderMouseDown(' + this.n_id + ')"/></div>'
	);
	this.e_base   = get_element('sl' + this.n_id + 'base');
	this.e_slider = get_element('sl' + this.n_id + 'slider');
	
	// safely hook document/window events
	if (document.onmousemove != f_sliderMouseMove) {
		window.f_savedMouseMove = document.onmousemove;
		document.onmousemove = f_sliderMouseMove;
	}
	if (document.onmouseup != f_sliderMouseUp) {
		window.f_savedMouseUp = document.onmouseup;
		document.onmouseup = f_sliderMouseUp;
	}
	// preset to the value in the input box if available
	var e_input = this.s_form == null
		? get_element(this.s_name)
		: document.forms[this.s_form]
			? document.forms[this.s_form].elements[this.s_name]
			: null;
	this.f_setValue(e_input && e_input.value != '' ? e_input.value : null, 1);
	this.e_slider.style.visibility = 'visible';
}

function f_sliderSetValue (n_value, b_noInputCheck) {
	if (n_value == null)
		n_value = this.n_value == null ? this.n_minValue : this.n_value;
	if (isNaN(n_value))
		return false;
	// round to closest multiple if step is specified
	if (this.n_step)
		n_value = Math.round((n_value - this.n_minValue) / this.n_step) * this.n_step + this.n_minValue;
	// smooth out the result
	if (n_value % 1)
		n_value = Math.round(n_value * 1e5) / 1e5;

	if (n_value < this.n_minValue)
		n_value = this.n_minValue;
	if (n_value > this.n_maxValue)
		n_value = this.n_maxValue;

	this.n_value = n_value;

	// move the slider
	if (this.b_vertical)
		this.e_slider.style.top  = (this.n_pathTop + this.n_pathLength - Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';
	else
		this.e_slider.style.left = (this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';

	// save new value
	var e_input;
	if (this.s_form == null) {
		e_input = get_element(this.s_name);
		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with ID='" + this.s_name + "'.");
	}
	else {
		var e_form = document.forms[this.s_form];
		if (!e_form)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the form with NAME='" + this.s_form + "'.");
		e_input = e_form.elements[this.s_name];
		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with NAME='" + this.s_name + "'.");
	}
	e_input.value = n_value;
	updateRatingElements(n_value, this);
}

// get absolute position of the element in the document
function f_sliderGetPos (b_vertical, b_base) {
	var n_pos = 0,
		s_coord = (b_vertical ? 'Top' : 'Left');
	var o_elem = o_elem2 = b_base ? this.e_base : this.e_slider;
	
	while (o_elem) {
		n_pos += o_elem["offset" + s_coord];
		o_elem = o_elem.offsetParent;
	}
	o_elem = o_elem2;

	var n_offset;
	while (o_elem.tagName != "BODY") {
		n_offset = o_elem["scroll" + s_coord];
		if (n_offset)
			n_pos -= o_elem["scroll" + s_coord];
		o_elem = o_elem.parentNode;
	}
	return n_pos;
}

function f_sliderMouseDown (n_id) {
	window.n_activeSliderId = n_id;
	return false;
}

function f_sliderMouseUp (e_event, b_watching) {
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];
		o_slider.f_setValue(o_slider.n_minValue + (o_slider.b_vertical
			? (o_slider.n_pathLength - parseInt(o_slider.e_slider.style.top) + o_slider.n_pathTop)
			: (parseInt(o_slider.e_slider.style.left) - o_slider.n_pathLeft)) / o_slider.n_pix2value);
		if (b_watching)	return;
		window.n_activeSliderId = null;
	}
	if (window.f_savedMouseUp)
		return window.f_savedMouseUp(e_event);
}

function f_sliderMouseMove (e_event) {

	if (!e_event && window.event) e_event = window.event;

	// save mouse coordinates
	if (e_event) {
		window.n_mouseX = e_event.clientX + f_scrollLeft();
		window.n_mouseY = e_event.clientY + f_scrollTop();
	}

	// check if in drag mode
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];

		var n_pxOffset;
		if (o_slider.b_vertical) {
			var n_sliderTop = window.n_mouseY - o_slider.n_sliderHeight / 2 - o_slider.f_getPos(1, 1) - 3;
			// limit the slider movement
			if (n_sliderTop < o_slider.n_pathTop)
				n_sliderTop = o_slider.n_pathTop;
			var n_pxMax = o_slider.n_pathTop + o_slider.n_pathLength;
			if (n_sliderTop > n_pxMax)
				n_sliderTop = n_pxMax;
			o_slider.e_slider.style.top = n_sliderTop + 'px';
			n_pxOffset = o_slider.n_pathLength - n_sliderTop + o_slider.n_pathTop;
		}
		else {
			var n_sliderLeft = window.n_mouseX - o_slider.n_sliderWidth / 2 - o_slider.f_getPos(0, 1) - 3;
			// limit the slider movement
			if (n_sliderLeft < o_slider.n_pathLeft)
				n_sliderLeft = o_slider.n_pathLeft;
			var n_pxMax = o_slider.n_pathLeft + o_slider.n_pathLength;
			if (n_sliderLeft > n_pxMax)
				n_sliderLeft = n_pxMax;
			o_slider.e_slider.style.left = n_sliderLeft + 'px';
			n_pxOffset = n_sliderLeft - o_slider.n_pathLeft;
		}
		if (o_slider.b_watch)
			 f_sliderMouseUp(e_event, 1);

		return false;
	}
	
	if (window.f_savedMouseMove)
		return window.f_savedMouseMove(e_event);
}

// get the scroller positions of the page
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_sliderError (n_id, s_message) {
	alert("Slider #" + n_id + " Error:\n" + s_message);
	window.n_activeSliderId = null;
}

get_element = document.all ?
	function (s_id) { return document.all[s_id] } :
	function (s_id) { return document.getElementById(s_id) };


/***  Horizontal Marquee ***/
var actualwidth = '';
var marqueespeedH = 1;
var copyspeedH=marqueespeedH;
var int_id = 0;
var pause_int_id = 0;

function scrollmarqueeH(dir){
  switch (dir) {
    case 'left':
      if (parseInt(cross_marqueeH.style.left)>(actualwidth*(-1)+8))
        cross_marqueeH.style.left=parseInt(cross_marqueeH.style.left)-copyspeedH+"px";
      else
        cross_marqueeH.style.left=parseInt(marqueewidth)+8+"px";
      break;
    case 'right':
      if (parseInt(cross_marqueeH.style.left)>(actualwidth*(-1)+8))
        cross_marqueeH.style.left=parseInt(cross_marqueeH.style.left)+copyspeedH+"px";
      else
        cross_marqueeH.style.left=parseInt(marqueewidth)-8+"px";
      break;
    default:
      break;
  }
}

function scrollMarqueeTimerH(dir) {
  if (int_id > 0) {
    clearInterval(int_id);
  }
  setTimeout('int_id=setInterval("scrollmarqueeH(\''+dir+'\')",20)', delayb4scroll);
  clearInterval(pause_int_id);
  dir = 'left';
  setTimeout('pause_int_id=setInterval(\'scrollMarqueeTimerH("left")\',12000)', delayb4scroll);
  setTimeout('clearInterval(int_id)', 2000);
}

function initializemarqueeH() {
  if (document.getElementById("marqueecontainer")) {
    cross_marqueeH=document.getElementById("hmarquee");
    cross_marqueeH.style.left=0;
    marqueewidth = document.getElementById("marqueecontainer").offsetWidth;
    actualwidth=cross_marqueeH.offsetWidth;
    if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){
      cross_marqueeH.style.width=marqueewidth+"px";
      cross_marqueeH.style.overflow="auto";
      return;
    }
    dir = 'left';
    setTimeout('pause_int_id=setInterval(\'scrollMarqueeTimerH("left")\',12000)', delayb4scroll);
  }
}

/**
 * Scroll other direction
 *
function changeDir(dir) {
  switch (document.getElementById('imageMarquee').direction) {
    case dir:
      amount = parseInt(document.getElementById('imageMarquee').scrollAmount);
      if (amount <= 6) {
        document.getElementById('imageMarquee').scrollAmount = amount + 1;
      }
      break;
    
    default:
      document.getElementById('imageMarquee').scrollAmount = 1;
      document.getElementById('imageMarquee').direction = dir;
      break;
  }
}
*/

/**
 * Replace text in a given document element
 */

var currentText = {};

function replaceText(id, text) {
  currentText[id] = document.getElementById(id).innerHTML;
  document.getElementById(id).innerHTML = text;
}

function restoreText(id) {
  document.getElementById(id).innerHTML = currentText[id];
}

/**
 * Adds tracking code given as parameter to the body
 */

var track_id_rand = -1;

function addTrackingCode(code, zone) {
//  if (track_id_rand < 0) {
//    track_id_rand = Math.round(100000*Math.random());
//  }
//  mytrack = '<img src="mtr.php?rand=' + track_id_rand + '&zone=' + zone + '" border=0 width=1 height=1 />';
  //mytrack = '';
  code = '<IMG border=0 hspace=0 vspace=0 width=1 height=1 src="' + code + '" />';
  document.body.innerHTML = document.body.innerHTML + code;
}
