var agent = navigator.userAgent.toLowerCase()
var is_ns  = ((agent.indexOf('mozilla') != -1) && (agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)
                && (agent.indexOf('opera') == -1) && (agent.indexOf('webtv') == -1) && (agent.indexOf('hotjava') == -1))
var is_ie = ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1))
var is_opera = (agent.indexOf("opera") != -1);
var is_gecko = (agent.indexOf('gecko') != -1);

//IMAGES

function simplePreload()
{	
	var args = simplePreload.arguments;
	document.imageArray = new Array(args.length);
	for(var i=0; i<args.length; i++)
	{
		document.imageArray[i] = new Image;
		document.imageArray[i].src = args[i];
	}
}

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_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.0
	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 && document.getElementById)
		x=document.getElementById(n);
	return x;
}
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 MM_nbGroup(event, grpName) { //v3.0
	var i, img, nbArr, args = MM_nbGroup.arguments;
	if (event == "init" && args.length > 2) {
		if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
			img.MM_init = true;
		img.MM_up = args[3];
		img.MM_dn = img.src;
		if ((nbArr = document[grpName]) == null)
			nbArr = document[grpName] = new Array();
		nbArr[nbArr.length] = img;
		for (i=4; i < args.length-1; i+=2)
			if ((img = MM_findObj(args[i])) != null) {
				if (!img.MM_up)
					img.MM_up = img.src;
				img.src = img.MM_dn = args[i+1];
				nbArr[nbArr.length] = img;
			}
		}
	}
	else if (event == "over") {
		document.MM_nbOver = nbArr = new Array();
    	for (i=1; i < args.length-1; i+=3)
			if ((img = MM_findObj(args[i])) != null) {
				if (!img.MM_up)
					img.MM_up = img.src;
				img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
				nbArr[nbArr.length] = img;
			}
	}
	else if (event == "out" ) {
		for (i=0; i < document.MM_nbOver.length; i++) {
			img = document.MM_nbOver[i];
			img.src = (img.MM_dn) ? img.MM_dn : img.MM_up;
		}
	}
	else if (event == "down") {
		if ((nbArr = document[grpName]) != null)
			for (i=0; i < nbArr.length; i++) {
				img=nbArr[i];
				img.src = img.MM_up;
				img.MM_dn = 0;
			}
		document[grpName] = nbArr = new Array();
		for (i=2; i < args.length-1; i+=2)
			if ((img = MM_findObj(args[i])) != null) {
				if (!img.MM_up)
					img.MM_up = img.src;
				img.src = img.MM_dn = args[i+1];
				nbArr[nbArr.length] = img;
			}
	}
}   
//POPUP WINDOWS
function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}
//ADD TO FAVOURITES
function AddToFaves_hp() {
	var is_4up	= parseInt(navigator.appVersion);
	var is_mac	= navigator.userAgent.toLowerCase().indexOf("mac")!=-1;
	var is_ie	= navigator.userAgent.toLowerCase().indexOf("msie")!=-1;
	var thePage	= location.href;
	if (thePage.lastIndexOf('#')!=-1)
		thePage	= thePage.substring(0,thePage.lastIndexOf('#'));
	if (is_ie && is_4up && !is_mac) 
		window.external.AddFavorite(thePage,document.title);
	else if (is_ie || document.images)
		booker_hp = window.open(thePage,'booker_','menubar,width=325,height=100,left=140,top=60');
	//booker_hp.focus();
}                                       

function Void() {
}

function areYouSure(aMessage) {
	if (aMessage == null)
		aMessage = "Are You Sure?";
    if (confirm(aMessage))
        return true;
    return false;
}

function popup(mylink, windowname) {
	if (! window.focus)
		return true;
	var href;
	if (typeof(mylink) == 'string')
	   href=mylink;
	else
	   href=mylink.href;
	new_window = window.open(href, windowname, 'width=780,height=730,top=130,left=300,scrollbars=yes');
	new_window.focus();
	return false;
}
//************************************************
function is_email(_email) {
    email_re1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\.$)/;
    email_re2 = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (_email == "" || email_re1.exec(_email) || !email_re2.exec(_email))
        return false;
    return true;
}
//************************************************
function is_number(aString) {
	reg = /^[0-9]+$/;
    if (aString.match(reg))
        return true;
    return false;
}
//************************************************
function region(CIDJ, RIDJ, CustomRegionList, AddPleaseSelect) {
	if (CustomRegionList != null)
		regionlist = CustomRegionList;
	optionDelete(RIDJ,0)
	if (CIDJ.selectedIndex < 0)
		return;
	var country = CIDJ.options[CIDJ.selectedIndex].value;
	
	var tt = 0;
	for (var i=0; i<regionlist.length ; i=i+3) {
		if (country==regionlist[i]) {
			if (tt==0) {
				if (AddPleaseSelect != null && AddPleaseSelect == true)
					optionAdd(RIDJ,"Please Select","");
			}
			tt++;
			var optioni = new Option(regionlist[i+1],regionlist[i+2]);
			optionAdd(RIDJ,regionlist[i+2],regionlist[i+1]);
		}
	}
	if (tt==0) {
		if (AddPleaseSelect != null && AddPleaseSelect == true)
			optionAdd(RIDJ,"Please Select","");
	}
}
function regionT(CIDJ, RIDJ, country, CustomRegionList, AddPleaseSelect) {
	if (CustomRegionList != null)
		regionlist = CustomRegionList;
	optionDelete(RIDJ,0);
	optionSelectValue(CIDJ, country);
	region(CIDJ, RIDJ, regionlist, AddPleaseSelect)
}

function regionSelReg(CIDJ, RIDJ, region, CustomRegionList, AddPleaseSelect) {
	if (CustomRegionList != null)
		regionlist = CustomRegionList;
	var country = -555;
	for (var i=0; i<regionlist.length ; i=i+3) {
		if (regionlist[i+1]==region) {
			country = regionlist[i]
			break;
		}
	}
	if (country != -555) {
		optionSelectValue (CIDJ, country);
		regionT (CIDJ, RIDJ, country, regionlist, AddPleaseSelect);
		optionSelectValue (RIDJ, region);
	}
}

//************************************************
function optionAdd(_objSelect,_text,_value) {
    if (is_ie) {
        var _objOption = document.createElement("OPTION");
        _objOption.text = _text;
        _objOption.value = _value;
        _objSelect.add(_objOption);
    }
	else if (is_ns || is_opera) {
        var _nextOption = _objSelect.options.length;
        _objOption = new Option(_text, _value);
        _objSelect.options[_nextOption] = _objOption
    }
}
function optionInsert(_objSelect,_text,_value,_position) {
    _itemsTextsBackup = new Array()
    _itemsValuesBackup = new Array()
    for (i=_position;i<_objSelect.length;i++) {
        _itemsTextsBackup.push(_objSelect[i].text)
        _itemsValuesBackup.push(_objSelect[i].value)
    }
    optionDelete(_objSelect,_position)
    optionAdd(_objSelect,_text,_value)
    for (i=0;i<_itemsValuesBackup.length;i++)
        optionAdd(_objSelect,_itemsTextsBackup[i],_itemsValuesBackup[i])
}
function optionDelete(_objSelect,_start,_length) {
    if (_start == null || _start < 0)
        _start = 0;
    if (_length == null || _length < 0 || _length == 0)
        _elements = _objSelect.length;
    else
        _elements = (_length > (_objSelect.length - _start))?_objSelect.length - _start:_start + _length;
    for (i=_start;i<_elements;i++)
        _objSelect.options[_start] = null;
}
function optionSelect(_objSelect,_index) {
    _index = (_index == null || _index >= _objSelect.length)?0:_index;
    if (is_ie || is_opera)
        _objSelect.selectedIndex = _index
    if (is_ns)
        _objSelect.options[_index].selected = true
}
function optionSelectValue(_objSelect,_value) {
	_elements = _objSelect.length
    for (i=0;i<_elements;i++) {
		if (_objSelect.options[i].value == _value) {
			_objSelect.options[i].selected = true;
			return;
		}
	}
}
//************************************************
function MultiOptionDetecter(_objSelect) {
	if (_objSelect == null) return false;
	for (var i = 0; i < _objSelect.options.length; i++)
		if (_objSelect.options[i].selected)
		  return true;
	return false;	
}
//************************************************
function CheckboxNumberChecked(_obj, nameCheckbox) {
	//_obj // form
	//nameCheckbox // name of Checkbox element use name[]
	var len = _obj.length;
	count = 0;
	for( var i=0; i < len; i++ ) {
		var element = _obj.elements[i];
		if( element.type == "checkbox" && element.name==nameCheckbox && element.checked)
			count++;
	}
	return count;
}
//************************************************
function radioButtonValue(_objRB) {
	for (i = 0; i < _objRB.length; i++) {
		if (_objRB[i].checked)
			return _objRB[i].value;
	}
	return null;
}
//************************************************
function fillDates() {
    objEl = document.application
	today = new Date();
	fillDate(myform.BYear,myform.BMonth,myform.BDate,today.getFullYear(),today.getMonth(),today.getDate())
}
function fillDate(_objSelectYear,_objSelectMonth,_objSelectDate,_year,_month,_date,_afterpost) {
	today = new Date();
	if (_year == null || _month == null || _date == null) {
		today_year = today.getFullYear()
		today_month = today.getMonth()
		today_date = today.getDate()
	}
	else {
		today_year = _year
		today_month = _month
		today_date = _date
	}
	months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	objSelect = _objSelectYear;
	optionDelete(objSelect,1)
	count = 1
	defaultIndex = 0
	if(_afterpost==-1) {
		p1=today.getFullYear()-80;
		p2=today.getFullYear();
	}
	if(_afterpost==1) {
		p1=today.getFullYear();
		p2=today.getFullYear()+6;
	}
	if(_afterpost==null || _afterpost==0) {
		p1=today.getFullYear()-80;
		p2=today.getFullYear()+6;
	}
	for (i=p1;i<=p2;i++) {
		optionAdd(objSelect,i,i)
		if (i == today_year)
			defaultIndex = count
		count++;
	}
	optionSelect(objSelect,defaultIndex)
	objSelect = _objSelectMonth;
	optionDelete(objSelect,1)
	defaultIndex = 0
	for (i=0;i<=11;i++) {
		optionAdd(objSelect,months[i],i+1)
		if (i == today_month)
			defaultIndex = i + 1
	}
	optionSelect(objSelect,defaultIndex)
	objSelect = _objSelectDate;
	optionDelete(objSelect,1)
	defaultIndex = 0
	for (i=1;i<=(31);i++) {
		test_date = new Date(today_year,today_month,i)
		if (i == test_date.getDate())
			optionAdd(objSelect,i,i)
		if (i == today_date)
			defaultIndex = i
	}
	optionSelect(objSelect,defaultIndex)
}
function fixDate(_year,_month,_date) {
    date_year = _year[_year.selectedIndex].value
    date_month = _month[_month.selectedIndex].value-1
    date_date = _date[_date.selectedIndex].value
    
    objSelect = _date;
    optionDelete(objSelect,1)
    defaultIndex = 0
    for (i=1;i<=31;i++) {
        test_date = new Date(date_year,date_month,i)
        if (i == test_date.getDate())
            optionAdd(objSelect,i,i)
        if (i == date_date)
            defaultIndex = i
    }
    optionSelect(objSelect,defaultIndex)
}
function betweenData(date1,date2,accuracy){
	// return  1  if date1 < date2
	// return  0  if date1 = date2
	// return  -1 if date1 > date2
	if(accuracy == null)
		accuracy=''
	if(date1.getFullYear() < date2.getFullYear())
		return  1
	if(date1.getFullYear() > date2.getFullYear())
		return  -1
	if(accuracy == 'Year')
		return 0
	if(date1.getMonth() < date2.getMonth())
		return  1
	if(date1.getMonth() > date2.getMonth())
		return  -1
	if(accuracy == 'Month')
		return 0
	if(date1.getDate() < date2.getDate())
		return  1
	if(date1.getDate() > date2.getDate())
		return  -1
	if(accuracy == 'Date')
		return 0
	if(date1.getHours() < date2.getHours())
		return  1
	if(date1.getHours() > date2.getHours())
		return  -1
	if(accuracy == 'Hours')
		return 0
	if(date1.getMinutes() < date2.getMinutes())
		return  1
	if(date1.getMinutes() > date2.getMinutes())
		return  -1
	if(accuracy == 'Minutes')
		return 0
	if(date1.getSeconds() < date2.getSeconds())
		return  1
	if(date1.getSeconds() > date2.getSeconds())
		return  -1
	if(accuracy == 'Seconds')
		return 0
	if(date1.getMilliseconds() < date2.getMilliseconds())
		return  1
	if(date1.getMilliseconds() > date2.getMilliseconds())
		return  -1
    return 0
}
//************************************************
// alert( readCookie("myCookie") );
function readCookie(name) {
	var cookieValue = "";
	var search = name + "=";
	if(document.cookie.length > 0) { 
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			cookieValue = unescape(document.cookie.substring(offset, end))
		}
	}
	return cookieValue;
}
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours) {
	var expire = "";
	if(hours != null) {
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
	}
	document.cookie = name + "=" + escape(value) + expire;
}
//************************************************
function ShowHideDiv (_obj, _bool) {
	//_obj1 = new MM_findObj(_obj);
	_obj1 = document.getElementById(_obj);
	if (_bool == null) {
		//if (_obj1.style.visibility == "hidden")
		if (_obj1.style.display == "none")
			_bool = true;
		else
			_bool = false;
	}
	if (_bool) {
		//_obj1.style.visibility = "";
		//_obj1.style.position = "";
		_obj1.style.display = "block";
}
	else {
		_obj1.style.display = "none";
		//_obj1.style.visibility = "hidden";
		//_obj1.style.position = "absolute";
	}
	return true;
}

function showTab (tabstabs, tab) {
	for (i=0; i < tabstabs.length; i++) {
		if (tabstabs[i] == tab)
			ShowHideDiv(tabstabs[i], true);
		else
			ShowHideDiv(tabstabs[i], false);
	}
}

function makeImgCheck (tabs, tab) {
	var img = '';
	for (i=0; i < tabs.length; i++) {
		_obj = new MM_findObj(tabs[i][0]);
		if (tabs[i][0] == tab)
			img = tabs[i][2];
		else
			img = tabs[i][1];
		_obj.src = img;
	}
}


function in_array(aVal, aArr) {
	if (!isArray(aArr))
		return false;
	for (i=0; i < aArr.length; i++) {
		if (aArr[i] == aVal)
			return true;
	}
	return false;
}

function tttt(){
	var someDate = new Date();
	return someDate.getTime();
}
function showMap(sss) {
	new_window = window.open(sss, "Image", "top=30,left=90,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no");
	new_window.focus();
}