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 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 areYouSure() {
    if (confirm("Are You Sure?"))
        return true;
    return false;
}
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 email_is_valid(_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 donothing()
{
// do nothing
}
//************************************************
function region(CIDJ,RIDJ)
{
    optionDelete(RIDJ,0)
	var country =CIDJ.options[CIDJ.selectedIndex].value
    // optionAdd(RIDJ,"Please Select","Please Select")
    for (var i=0; i<regionlist.length ; i=i+3)
     {
      if (country==regionlist[i])
       {
        var optioni = new Option(regionlist[i+1],regionlist[i+2])
        optionAdd(RIDJ,regionlist[i+2],regionlist[i+1])
   	}
     }
}
function regionT(CIDJ,RIDJ,country)
{   optionDelete(RIDJ,0)
    for (var i=0; i<regionlist.length ; i=i+3)
     {
      if (country==regionlist[i])
       {
        var optioni = new Option(regionlist[i+1],regionlist[i+2])
        optionAdd(RIDJ,regionlist[i+2],regionlist[i+1])
   	   }
     }
}
//************************************************
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 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 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();
}


//********************** VTV library **********************

//Check Browser
function checkBro()
{
    if(navigator.appName == "WebTV")
    {
        alert("You're usung Web-TV.");
    }
    if(navigator.appName == "Netscape")
    {
        alert("You are using a Netscape browser.");
    }
    if(navigator.appName == "Microsoft Internet Explorer")
    {
        alert("You're using the Internet Explorer browser.")
    }
}

//Create Bookmark for IE, Opera, Firefox
function createBMark(title,url) //title,url
{ 
//var url = "http://air-resp.businessmedia.ca";
//var title = "Air-Resp Meidcal- The best products";

    if (window.sidebar) 
    { 
        window.sidebar.addPanel(title, url,"");
        alert("Firefox users: \nThis link will open in your Sidebar\nrather than the main page!\nTo prevent this please right click the link and choose\n'Properties' and then uncheck the box marked:\n'Load This Bookmark in the Sidebar'\n\nSorry about this, but it is unavoidable with Firefox");

    } else if( window.opera && window.print ) 
    { 
    alert("Opera users: By Default this link will open in your Sidebar\nrather than the main page!\nTo prevent this please uncheck the box marked\n'Show in Panel' that appears on the Add Bookmark window\n\nSorry about this, but it is currently unavoidable with Opera");
    var mbm = document.createElement('a');
    mbm.setAttribute('rel','sidebar');
    mbm.setAttribute('href',url);
    mbm.setAttribute('title',title);
    mbm.click();
    } else if( document.all ) 
    { 
    window.external.AddFavorite( url, title); 
    } 
}