window.onload=loadPage;
window.onunload=unloadPage;

var parameternames=new Array("Currency","ConvertEURtoGBP","ConvertEURtoUSD","VillaOrder","VillaNumber","VillaName","VillaMenuNumber","Accommodation","Guests","Bedrooms","ActivityNumber","login","Month","Year","Months");

var loggedin=null;
var parameter=location.search;
var pageparameter=parameter.replace("?","");
var pagepath=window.location.pathname;
var sls=pagepath.lastIndexOf('/')+1;
var pagefile=pagepath.substring(sls);
if ( pagefile==""||pagefile==null ) pagefile="default.php";
var sld=pagefile.indexOf('.');
var pagename=pagefile.substring(0,sld);
var onepage=false;

var currencies=new Array("EUR","GBP","USD");
var currencysymbols=new Array("€","£","$");
var colors=new Array('#00ffff','#00ffff','#00ffff','#66ff00','#66ff00','#ffff00','#ffff00','#ffff00','#ffff00','#66ff00','#66ff00','#00ffff');
var seasons=new Array("ls","ls","ls","ms","ms","hs","hs","hs","hs","ms","ms","ls");
var mnn=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var villas=new Array();
var imagetext=new Array();
var imagefile=new Array();
var comments=new Array();
var changes=new Array();
var pricedata=new Array();
var perweek=new Array();
var perweeknotes=new Array();
var perweekextras=new Array();
var pernight=new Array();
var pernightnotes=new Array();
var pernightextras=new Array();
var rooms=new Array();
var costsroom=new Array();
var dates=new Array();
var title=new Array();
var description=new Array();

var initialpage=false;
var root="";
var imageroot="";

var menus=new Array();
menus[0]=new Array("Welcome","default.php",true,true,true);
// menus[1]=new Array("Accommodation","accommodation.php",true,true,true);
menus[1]=new Array("Activities","activities.php",true,false,true);
menus[2]=new Array("Weather","weather.php",true,false,true);
menus[3]=new Array("Travel","travel.php",true,false,true);
menus[4]=new Array("Contact Us","contactus.php",false,false,true);

var amenus=new Array;
amenus[0]=new Array("Leisure","changeActivity(0)",true,false,true,"local");
amenus[1]=new Array("Cultural and Historical","changeActivity(1)",true,false,true,"local");
amenus[2]=new Array("Golf","changeActivity(2)",true,false,true,"local");
amenus[3]=new Array("Special Events","changeActivity(3)",true,false,true,"local");
amenus[4]=new Array("Restaurants","changeActivity(4)",true,false,true,"local");
amenus[5]=new Array("Nature","changeActivity(5)",true,false,true,"local");
amenus[6]=new Array("Alternative Treatments","changeActivity(6)",true,false,true,"local");

var vmenus=new Array;
vmenus[0]=new Array("Description","",true,true,true,"");
vmenus[1]=new Array("Prices","prices.php",false,true,false,"");
vmenus[2]=new Array("Availability","availability.php",false,false,false,"");
vmenus[3]=new Array("Reservation","reservation.php",false,true,false,"");
vmenus[4]=new Array("Location Map","location.php",false,false,false,"");
vmenus[5]=new Array("Guest Book","guestbook.php",false,false,false,"");

var lmenus=new Array;
lmenus[0]=new Array("Manage Description","managedescription.php",false,true,false,"");
lmenus[1]=new Array("Manage Prices","manageprices.php",false,false,false,"");
lmenus[2]=new Array("Manage Availability","manageavailability.php",false,false,false,"");
lmenus[3]=new Array("Manage Reservation","",false,true,false,"");
lmenus[4]=new Array("Manage Location Map","",false,false,false,"");
lmenus[5]=new Array("Manage Guest Book","manageguestbook.php",false,false,false,"");
lmenus[6]=new Array("Preview","managePreview()",false,false,false,"local");
lmenus[7]=new Array("Save Changes","manageSave()",false,false,false,"local");
lmenus[8]=new Array("Logout","manageLogout()",false,false,false,"local");

var language="en";
var FMT=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var FDT=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var monthsText=new Array("January","February","March","April","May","June","July","August","September","October","November","December");

if ( location.protocol!="file:" ) {
  var gaJsHost=(("https:"==document.location.protocol)?"https://ssl.":"http://www.");
  document.write(unescape("%3Cscript src='"+gaJsHost+"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); }

// check for inclusion of sharethis buttons : only on pages which are shareable.

var sharethis=true;
for ( ii in menus ) if ( pagefile==menus[ii][1] ) sharethis=menus[ii][2];
for ( ii in amenus ) if ( pagefile==amenus[ii][1] ) sharethis=amenus[ii][2];
for ( ii in vmenus ) if ( pagefile==vmenus[ii][1] ) sharethis=vmenus[ii][2];
for ( ii in lmenus ) if ( pagefile==lmenus[ii][1] ) sharethis=lmenus[ii][2];
if ( pagefile=="contactcj.php" ) sharethis=false;
if ( pagename.substr(0,6)=="manage" ) sharethis=false;
if ( pageparameter=="preview" ) sharethis=false;
if ( location.protocol=="file:" ) sharethis=false; 
if ( sharethis ) {
  var switchTo5x=false;
  document.write(unescape('%3Cscript type="text/javascript" src="http://w.sharethis.com/button/buttons.js"%3E%3C/script%3E')); }

// check for inclusion of coinmill and geoplugin scripts : only on pages which display currency and if parameters cookie does not already contain currency symbol ( geoplugin) or conversion variables (coinmill).

var currency_data=new Array();
function geoplugin_currencyCode() {
  return "EUR"; }
function currency_convert(a,b,c) {
  return 1; }

include=true;
for ( ii in menus ) if ( pagefile==menus[ii][1] ) include=menus[ii][3];
for ( ii in amenus ) if ( pagefile==amenus[ii][1] ) include=amenus[ii][3];
for ( ii in vmenus ) if ( pagefile==vmenus[ii][1] ) include=vmenus[ii][3];
for ( ii in lmenus ) if ( pagefile==lmenus[ii][1] ) include=lmenus[ii][3];
if ( pagefile=="contactcj.php" ) include=false;
if ( pagename.substr(0,6)=="manage" ) include=false;
if ( pageparameter=="preview" ) include=false;
if ( include ) {
  parameters=getCookie("parameters","||||||||||");
  var ca=document.cookie.split(';');
  var nameEQ="parameters=";
  for ( var ica=0;ica<ca.length;ica++ ) {
    var c=ca[ica];
    while ( c.charAt(0)==' ' ) c=c.substring(1,c.length);
    if (c.indexOf(nameEQ)==0) parameters=unescape(c.substring(nameEQ.length,c.length)); }
  bits=parameters.split("|");
  if ( bits[1]=="" ) document.write(unescape('%3Cscript type="text/javascript" src="http://coinmill.com/frame.js"%3E%3C/script%3E'));
  if ( bits[0]=="" ) document.write(unescape('%3Cscript type="text/javascript" src="http://www.geoplugin.net/javascript.gp"%3E%3C/script%3E')); }

// Disable right-click
document.onmousedown=disable;
now=new Date();
xny=now.getFullYear();
message=unescape("%A9")+" Copyright "+xny+" Portugal Holiday Villas";
function disable(e) {
if ( e==null ) {
  e=window.event;
  if ( e.button==2 ) {
    alert(message);
    return false; } }
document.onclick=ffdisable; }
function ffdisable(e) {
if ( e.button==2 ) {
  e.preventDefault();
  e.stopPropagation();
  alert(message);
  return false; } }

var getElementsByClassName=function(className,tag,elm) {
  if ( document.getElementsByClassName ) {
    getElementsByClassName=function(className,tag,elm) {
      elm=elm||document;
	var elements=elm.getElementsByClassName(className),
	nodeName=(tag)?new RegExp("\\b"+tag+"\\b","i"):null,
	returnElements=[],
	current;
	for ( var i=0;i<elements.length;i++ ) {
	  current=elements[i];
	  if ( !nodeName||nodeName.test(current.nodeName) ) { returnElements.push(current); } }
	return returnElements; } }
  else if ( document.evaluate ) {
    getElementsByClassName=function(className,tag,elm) {
	tag=tag||"*";
	elm=elm||document;
	var classes=className.split(" "),classesToCheck="",xhtmlNamespace="http://www.w3.org/1999/xhtml",namespaceResolver=( document.documentElement.namespaceURI === xhtmlNamespace )? xhtmlNamespace : null,returnElements=[],elements,node;
	for ( var j=0;j<classes.length;j++ ) { classesToCheck+="[contains(concat(' ',@class,' '),'"+classes[j]+"')]"; }
	try { elements=document.evaluate(".//"+tag+classesToCheck,elm,namespaceResolver,0,null); }
	catch (e) { elements=document.evaluate(".//"+tag+classesToCheck,elm,null,0,null); }
	while ( ( node=elements.iterateNext() ) ) { returnElements.push(node); }
	return returnElements; } }
  else {
    getElementsByClassName=function(className,tag,elm) {
	tag=tag||"*";
	elm=elm||document;
	var classes=className.split(" "),classesToCheck=[],elements=(tag === "*"&&elm.all)? elm.all : elm.getElementsByTagName(tag),current,returnElements=[],match;
	for ( var k=0;k<classes.length;k++ ) { classesToCheck.push(new RegExp("(^|\\s)"+classes[k]+"(\\s|$)")); }
	for ( var l=0;l<elements.length;l++ ) {
	  current=elements[l];
	  match=false;
	  for ( var m=0;m<classesToCheck.length;m++ ) {
	    match=classesToCheck[m].test(current.className);
	    if ( !match ) { break; } }
	  if ( match ) { returnElements.push(current); } }
      return returnElements; } }
  return getElementsByClassName(className,tag,elm); }

function trim(str) {
  return str.replace(/^\s+|\s+$/g, ''); }

function showMessages(msg,dismiss,offset) {
  unloadPage();
  if ( !dismiss ) setinnerHTML("message",msg);
  if ( dismiss ) setinnerHTML("message",msg+'<hr />Click on this message to remove it.');
  screenheight=(typeof window.innerHeight!='undefined'?window.innerHeight:document.body.offsetHeight);
  getObject("messages").height=screenheight;
  if ( offset ) setTop("messagestable",offset+'px');
  setZindex("messages",100);
  setZindex("messagestext",100);
  setZindex("messagestable",100);
  showObject("messages");
  return; }

function dismissMessages() {
  setZindex("messages",0);
  hideObject("messages");
  loadPage();
  setField("0");
  return; }

function setinnerHTML(obj,txt) {
  if ( getObject(obj) ) getObject(obj).innerHTML=txt;
  return; }

function getinnerHTML(obj) {
  if ( getObject(obj) ) return getObject(obj).innerHTML;
  return null; }

function setOpacity(obj,value) {
  if ( getObject(obj) ) getObject(obj).style.opacity=value;
  return; }

function setTop(obj,value) {
  if ( getObject(obj) ) getObject(obj).style.top=value;
  return; }

function setZindex(obj,value) {
  if ( getObject(obj) ) getObject(obj).style.zIndex=value;
  return; }

function setColor(obj,color) {
  if ( getObject(obj) ) getObject(obj).style.color=color;
  return; }

function setBackground(obj,color) {
  if ( getObject(obj) ) getObject(obj).style.background=color;
  return; }

function setCursor(obj,cursor) {
  if ( getObject(obj) ) getObject(obj).style.cursor=cursor;
  return; }

function setBorder(obj,border) {
  if ( getObject(obj) ) getObject(obj).style.border=border;
  return; }

function showObject(obj) {
  setDisplay(obj,'inline');
  return; }

function hideObject(obj) {
  setDisplay(obj,'none');
  return; }

function setDisplay(obj,txt) {
  if ( getObject(obj) ) getObject(obj).style.display=txt;
  return; }

function getDisplay(obj) {
  if ( getObject(obj) ) return getObject(obj).style.display;
  return null; }

function setValue(obj,value) {
  if ( getObject(obj) ) getObject(obj).value=value;
  return; }

function getValue(obj) {
  if ( getObject(obj) ) return getObject(obj).value;
  return null; }

function dw(string) {
  document.write(string);
  return; }

function unloadPage(value) {
  setOpacity("header",0.5);
  setOpacity("menus",0.5);
  setOpacity("content",0.5);
  setOpacity("wrapper",0.5);
  setOpacity("footer",0.5);
  return; }

function loadPage() {
  if ( getObject("messages").style.display=="inline" ) return;
  setOpacity("header",1.0);
  setOpacity("menus",1.0);
  setOpacity("content",1.0);
  setOpacity("wrapper",1.0);
  setOpacity("footer",1.0);
  return; }

function displayWebPage(url,sl,tr) {
  nurl='http://'+url;
  if ( tr ) {
    gt=readCookie("googtrans","/en/en");
    bits=gt.split("/");
    tl=bits[2];
    if ( tl!=sl ) nurl='http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&u='+url+'&sl='+sl+'&tl='+tl+'&history_state0='; }
  window.open(nurl,"_blank");
  return; }

function disableButton(id) {
  return; }

function enableButton(id) {
  return; }

function windowOpen(which) {
  unloadPage();
//  showMessages('Loading page - please wait ...',false);
  window.open(which,"_parent");
  return; }

function changeVilla(nv) {
  ov=readCookie("VillaNumber");
  createCookie("VillaNumber",nv);
  createCookie("VillaName",villas[nv][1]);
  cvm=readCookie("VillaMenuNumber",0);
  cvm=Number(cvm);
  newpagefile=(cvm==0)?villas[nv][1]+".htm":vmenus[cvm][1];
  if ( newpagefile!=pagefile||nv!=ov ) windowOpen(root+newpagefile,'_parent');
  return; }

function changePage(pn) {
  if ( pn<0 ) {
    np=-pn-1;
    newpagefile=amenus[np][1];
    createCookie("ActivityNumber",np);
    if ( newpagefile!=pagefile ) windowOpen(root+newpagefile,'_parent');
    return; }
  newpagefile=menus[pn][1];
  if ( newpagefile!=pagefile ) windowOpen(root+newpagefile,'_parent');
  return; }

function changeCurrency(nc) {
  setCurrency(nc);
  if ( pagename=="reservation" ) totalPrice();
  return; }

function setCurrency(newcurrency) {
  nc=newcurrency;
  if ( nc=="" ) {
    nc=readCookie("Currency","");
    if ( nc=="" ) {
      gc=geoplugin_currencyCode();
      for ( var i in currencies ) if ( gc==currencies[i] ) nc=currencies[i];
      if ( nc=="" ) nc="EUR"; } }
  var currencybuttons=new Array();
  mj=0;
  ctxt='';
  for ( mi in currencies ) {
    currencybuttons[mj]='&nbsp;<span class="notranslate">'+currencysymbols[mi]+'</span>&nbsp;';
    mj++;
    currencybuttons[mj]='';
    if ( nc!=currencies[mi] ) currencybuttons[mj]='changeCurrency(\'' + currencies[mi] + '\')';
    mj++; }
  ctxt+=showButtons("currency",currencybuttons,true);
  if ( getObject("currencies")!=null ) {
    con=true;
    for ( ii in menus ) if ( pagefile==menus[ii][1] ) con=menus[ii][3];
    for ( ii in amenus ) if ( pagefile==amenus[ii][1] ) con=amenus[ii][3];
    for ( ii in vmenus ) if ( pagefile==vmenus[ii][1] ) con=vmenus[ii][3];
    for ( ii in lmenus ) if ( pagefile==lmenus[ii][1] ) con=lmenus[ii][3];
//    etp=readCookie("ConvertEURtoGBP",1);
    if ( etp==1 ) con=false;
    if ( pagefile=="contactcj.php" ) con=false;
    if ( pagename.substr(0,6)=="manage" ) con=false;
    if ( pageparameter=="preview" ) con=false;
    if ( con ) {
      setinnerHTML("currencies",ctxt);
      showObject("currencies"); }
    if ( !con ) hideObject("currencies"); }
  var bits=new Array();
  for ( i in currencies ) {
    bits=getElementsByClassName(currencies[i]);
    for ( j in bits ) { bits[j].style.display=(currencies[i]==nc)?'inline':'none'; } }
  createCookie("Currency",nc);
  return; }

function convertCurrency(cv,oc,nc) {
  if ( oc==nc ) return cv;
//  etp=readCookie("ConvertEURtoGBP",1);
  if ( etp==1 ) return cv;
//  etp=Number(etp);
//  etp=etp.toFixed(2);
//  etd=readCookie("ConvertEURtoUSD");
//  etd=Number(etd);
//  etd=etd.toFixed(2);
  if ( oc==currencies[0] ) nv=(nc==currencies[1])?cv*etp:cv*etd;
  if ( oc==currencies[1] ) nv=(nc==currencies[0])?cv/etp:cv*etd/etp;
  if ( oc==currencies[2] ) nv=(nc==currencies[0])?cv/etd:cv*etp/etd;
  return nv.toFixed(2); }

function formatCurrency(cv,oc,nc) {
//  etp=readCookie("ConvertEURtoGBP",1);
  for ( i in currencies ) if ( nc==currencies[i] ) ic=i;
  if ( etp==1 ) for ( i in currencies ) if ( oc==currencies[i] ) ic=i;
  sv=Number(cv);
  var string=currencysymbols[ic]+sv.toFixed(2);
  var dp=string.split(".");
  if ( dp[1]=="00" ) string=currencysymbols[ic]+sv.toFixed(0);
  if ( oc!="" ) string='<span class="'+nc+'">'+string+'</span>';
  return string; }

function displayCurrency(value,cc) {
  var currencies=new Array("EUR","GBP","USD");
  var txt="";
  pv=value;
  if ( pv<0 ) pv=-pv;
  for ( var i=0;i<currencies.length;i++ ) {
    cv=convertCurrency(pv,cc,currencies[i]);
    txt+=formatCurrency(cv,cc,currencies[i]); }
  return txt; }

function discountPrice(cv) {
  var dp=cv-cv*discount/100;
  return dp; }

function createCookie(name,value,days) {
  if ( name=="VillaNumber"||name=="VillaMenuNumber" ) {
    if ( pagename.substr(0,6)=="manage"||pageparameter=="preview" ) {
      tmp=readCookie("login",",,,,,");
      bits=tmp.split(",");
      if ( name=="VillaNumber" ) bits[1]=value;
      if ( name=="VillaMenuNumber" ) bits[4]=value;
      createCookie("login",bits[0]+','+bits[1]+','+bits[2]+","+bits[3]+","+bits[4]+","+bits[5],expires);
      return; } }
  var expires="";
  if ( days ) {
    var date=new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires="; expires="+date.toGMTString(); }
  for ( var parameter in parameternames ) {
    if ( name==parameternames[parameter] ) {
      setParameter(name,value);
      return; } }
  document.cookie=name+"="+escape(value)+expires+"; path=/";
  return; }

function setParameter(name,value) {
  parameterdata=readCookie("parameters");
  parameterbits=parameterdata.split("|");
  parametertxt="";
  for ( var parameter in parameternames ) parametertxt+=((name==parameternames[parameter])?value:parameterbits[parameter])+"|";
  createCookie("parameters",parametertxt);
  return; }
  
function readCookie(name,value) {
  if ( name=="VillaNumber"||name=="VillaMenuNumber" ) {
    if ( pagename.substr(0,6)=="manage"||pageparameter=="preview" ) {
      tmp=readCookie("login","");
      if ( tmp!="" ) {
        bits=tmp.split(",");
        if ( name=="VillaNumber" ) return bits[1];
        return bits[4]; }
      return value; } }
  for ( var parameter in parameternames ) if ( name==parameternames[parameter] ) return getParameter(name,value);
  return getCookie(name,value); }

function getCookie(name,value) {
  var ca=document.cookie.split(';');
  var nameEQ=name+"=";
  for ( var ica=0;ica<ca.length;ica++ ) {
    var c=ca[ica];
    while ( c.charAt(0)==' ' ) c=c.substring(1,c.length);
    if (c.indexOf(nameEQ)==0) return unescape(c.substring(nameEQ.length,c.length)); }
  return value; }

function getParameter(name,value) {
  parameterdata=readCookie("parameters","");
  if ( parameterdata=="undefined" ) parameterdata="||||||||||||";
  parameterbits=parameterdata.split("|");
  for ( var parameter in parameternames ) if ( name==parameternames[parameter]&&parameterbits[parameter]!="" ) return parameterbits[parameter];
  return value; }
  
function eraseCookie(name) {
  createCookie(name,"",-1);
  return; }

function showButtons(listclass,list,nospaces,ml,mb) {
  ulid="navigation";
  if ( listclass!="topmenu" ) ulid=listclass;
  txt='<ul id="'+ulid+'" style="';
  if ( ml ) txt+='margin-left:'+ml+'px;';
  mbb='';
  txt+='clear:both;">'
  for ( var isb=0;isb<list.length-1;isb=isb+2 ) {
    if ( isb>=list.length-2&&mb&&mb!=0 ) mbb='style="margin-bottom:'+mb+'px;"';
    if ( list[isb+1]!="" ) {
      if ( list[isb+1]=="idle" ) txt+='<li class="idle" '+mbb+' onclick="'+list[isb+1]+'" style="opacity:0.5">'+list[isb]+'</li>';
      if ( list[isb+1]!="idle"&&list[isb]!="facebook" ) txt+='<li class="move" '+mbb+' onclick="'+list[isb+1]+'">'+list[isb]+'</li>';
      if ( list[isb+1]!="idle"&&list[isb]=="facebook" ) txt+='<li class="fb" '+mbb+' onclick="'+list[isb+1]+'">'+list[isb]+'</li>'; }
    if ( list[isb+1]=="" ) txt+='<li class="stay" '+mbb+'>'+list[isb]+'</li>';
    if ( !nospaces ) txt+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'; }
  txt+='</ul>';
  return txt; }

function setField(id) {
  fid="FieldData"+id;
  if ( !getObject(fid) ) {
    fid="FD"+id;
    if ( !getObject(fid) ) return; }
  getObject(fid).focus();
  if ( getObject(fid).type!="select-one" ) getObject(fid).select();
  return; }

function setFocus(fid) {
  if ( getObject(fid) ) {
    getObject(fid).focus();
    if ( getObject(fid).type!="select-one" ) getObject(fid).select(); }
  return; }

function selectAll(id) {
  setField(id);
  return; }

function selectFieldAll(fid) {
  if ( !getObject(fid) ) return;
  getObject(fid).focus();
  if ( getObject(fid).type!="select-one" ) getObject(fid).select();
  return; }

function getObject(objID){
  if ( document.getElementById ) { return document.getElementById(objID); }
  else if ( document.all ) { return document.all[objID]; }
  else if ( document.layers ) { return document.layers[objID]; } }

function restoreData() {
  if ( villa==null ) return;
  restoreValues("Villatitle",title,villa,"string");
  restoreValues("Villadescription",description,villa,"string");
  restoreValues("Villavillas",villas,villa,"array");
  rooms[villa]=new Array();
  if ( villas[villa][7]!="SC" ) rooms[villa]=villas[villa][18].split("/");
  if ( villas[villa][1]=="rosden" ) rooms[villa]=villas[villa][18].split("/");
  costsroom[villa]=new Array();
  if ( villas[villa][19]!="" ) costsroom[villa]=villas[villa][19].split("/");
  if ( villas[villa][1]=="rosden" ) costsroom[villa]=villas[villa][19].split("/");
  restoreValues("Villaimagefile",imagefile,villa,"array");
  restoreValues("Villaimagetext",imagetext,villa,"array");
  restoreValues("Villapricedata",pricedata,villa,"array");
  restoreValues("Villadates",dates,villa,"array");
  restoreValues("Villachanges",changes,villa,"array");
  return; }

function restoreValues(name,values,id,which) {
  us="##";
  data=readCookie(name,"");
  if ( data=="" ) return;
  if ( which=="array-element" ) {
    if ( !values[id] ) values[id]=new Array();
    bits=data.split(us);
    for ( j in bits ) {
      sub=bits[j].split("|");
      ic=sub[0];
      values[id][ic]=new Array();
      for ( i in sub ) if ( i>0 ) values[id][ic]+=sub[i]+"|";
      for ( i in values[id] ) if ( values[id][i]=="true" ) values[id][i]=true;
      for ( i in values[id] ) if ( values[id][i]=="false" ) values[id][i]=false; }
    displayScript(name,values,id,which);
    return; }
  if ( which=="array" ) {
    values[id]=new Array();
    bits=data.split(us);
    for ( i in bits ) values[id][i]=bits[i];
    for ( i in values ) if ( values[id][i]=="true" ) values[id][i]=true;
    for ( i in values ) if ( values[id][i]=="false" ) values[id][i]=false;
    displayScript(name,values,id,which);
    return; }
  values[id]=data;
  if ( values[id]=="true" ) values[id]=true;
  if ( values[id]=="false" ) values[id]=false;
  displayScript(name,values,id,which);
  return; }

function displayScript(name,values,id,which) {
  txt='';
  if ( !values[id] ) return;
  if ( which=="array" ) {
    txt+=name.substr(5)+'['+id+']=new Array(';
    for ( i=0;i<values[id].length;i++ ) {
      wrap='';
      if ( !Number(values[id][i])&&values[id][i]!="0" ) wrap='"';
      bit="*"+values[id][i]+"*";
      if ( bit=="*true*"||bit=="*false*" ) wrap='';
      if ( bit=="*undefined*" ) values[id][i]="";
      txt+=wrap+values[id][i]+wrap;
      if ( i<values[id].length-1 ) txt+=','; }
    txt+=');';
    setValue(name,txt);
    return; }
  if ( values[id] ) txt+=name.substr(5)+'['+id+']="'+values[id]+'";\n';
  if ( !values[id] ) txt+=name.substr(5)+'['+id+']="";\n';
  setValue(name,txt);
  return; }

function openFacebook() {
  window.open("http://www.facebook.com/home.php?#/pages/Portugal-Holiday-Villas/147156231974184?ref=sgm","_blank");
  return; }

function unpackPrices(ii) {
  if ( ii==0 ) return;
  perweek[ii]=new Array();
  pernight[ii]=new Array();
  perweekextras[ii]=new Array();
  pernightextras[ii]=new Array();
  perweeknotes[ii]="";
  perweeknotes[ii]="";
  i=17;
  j=pricedata[ii][i];
  i++;
  if ( j!=0 ) {
    l=j;
    if ( j<0 ) j=-j;
    for ( k=0;k<j;k++ ) {
      perweek[ii][k]=pricedata[ii][i];
      i++; } }
  j=pricedata[ii][i];
  i++;
  if ( j>0 ) {
    for ( k=0;k<j;k++ ) {
      pernight[ii][k]=pricedata[ii][i];
      i++; } }
  j=pricedata[ii][i];
  i++;
  if ( j>0 ) {
    for ( k=0;k<j;k++ ) {
      perweekextras[ii][k]=pricedata[ii][i];
      i++; } }
  j=pricedata[ii][i];
  i++;
  if ( j>0 ) {
    for ( k=0;k<j;k++ ) {
      pernightextras[ii][k]=pricedata[ii][i];
      i++; } }
  perweeknotes[ii]=pricedata[ii][i];
  i++;
  pernightnotes[ii]=pricedata[ii][i];
  temp=new Array();
  for ( i=0;i<17;i++ ) temp[i]=pricedata[ii][i];
  pricedata[ii]=new Array();
  for ( i=0;i<17;i++ ) pricedata[ii][i]=temp[i];
  return; }

function isWhitespace(s) {
  var i;
  var whitespace=" \t\n\r";
  if ( isEmpty(s) ) return true;
  for ( i=0;i<s.length;i++ ) {
    var c=s.charAt(i);
    if ( whitespace.indexOf(c)==-1 ) return false; }
  return true; }

function isEmpty(s) { return ( (s==null)||(s.length==0) ) }

function isEmail (s) {   
  if ( isEmpty(s) ) return false;
  if ( isWhitespace(s) ) return false;
  var i=1;
  var sLength=s.length;
  while ( ( i<sLength)&&(s.charAt(i)!="@") ) { i++; }
  if ( (i>=sLength)||(s.charAt(i)!="@") ) return false;
  else i+=2;
  while ( ( i<sLength)&&(s.charAt(i)!=".") ) { i++; }
  if ( ( i>=sLength-1)||(s.charAt(i)!=".") ) return false;
  return true; }

function isNumber(s) {
  var strField=new String(s.value);
  if ( isWhitespace(strField) ) return true;
  var i=0;
  for ( i=0;i<strField.length;i++ ) {
    if ( strField.charAt(i)<'0'||strField.charAt(i)>'9' ) return false; }
  return true; }
