function mailRecipEsp() {
	var mRecip = "input "+"type="+"hidden "+"name="+"recipient "+"value="+ "amartinez@globalestates.es;grathcke@globalestates.es;balonso@globalestates.es;root@globalestates.es";
	document.write("<" + mRecip + ">");
}
function mailRecipEng() {
	var mRecip1 = "input "+"type="+"hidden "+"name="+"recipient "+"value="+"amartinez@globalestates.es;grathcke@globalestates.es;balonso@globalestates.es;root@globalestates.es";
	document.write("<" + mRecip1 + ">");
}
function drop(n) {
if(self.moveBy){
self.moveBy (0,-900);
for(i = n; i > 0; i--){
self.moveBy(0,3);
}
for(j = 8; j > 0; j--){
self.moveBy(0,j);
self.moveBy(j,0);
self.moveBy(0,-j);
self.moveBy(-j,0);
}
}
}

/*------------------------- mover capa - begin ----------------------------------------------*/

function CSClickReturn () {
	var bAgent = window.navigator.userAgent; 
	var bAppName = window.navigator.appName;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
		return true; /* dont follow link */
	else return false; /* dont follow link */
}
CSStopExecution=false;
function CSAction(array) {return CSAction2(CSAct, array);}
function CSAction2(fct, array) { 
	var result;
	for (var i=0;i<array.length;i++) {
		if(CSStopExecution) return false; 
		var aa = fct[array[i]];
		if (aa == null) return false;
		var ta = new Array;
		for(var j=1;j<aa.length;j++) {
			if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){
				if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}
				else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}
				else ta[j]=aa[j];}
			} else ta[j]=aa[j];
		}			
		result=aa[0](ta);
	}
	return result;
}
CSAct = new Object;
CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);
CSIsW3CDOM = ((document.getElementById) && !(IsIE()&&CSBVers<6)) ? true : false;
function IsIE() { return CSAg.indexOf("MSIE") > 0;}
function CSIEStyl(s) { return document.all.tags("div")[s].style; }
function CSNSStyl(s) { if (CSIsW3CDOM) return document.getElementById(s).style; else return CSFindElement(s,0);  }
CSIImg=false;
function CSInitImgID() {if (!CSIImg && document.images) { for (var i=0; i<document.images.length; i++) { if (!document.images[i].id) document.images[i].id=document.images[i].name; } CSIImg = true;}}
function CSFindElement(n,ly) { if (CSBVers<4) return document[n];
	if (CSIsW3CDOM) {CSInitImgID();return(document.getElementById(n));}
	var curDoc = ly?ly.document:document; var elem = curDoc[n];
	if (!elem) {for (var i=0;i<curDoc.layers.length;i++) {elem=CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}
	return elem;
}
function CSGetImage(n) {if(document.images) {return ((!IsIE()&&CSBVers<5)?CSFindElement(n,0):document.images[n]);} else {return null;}}
CSDInit=false;
function CSIDOM() { if (CSDInit)return; CSDInit=true; if(document.getElementsByTagName) {var n = document.getElementsByTagName('DIV'); for (var i=0;i<n.length;i++) {CSICSS2Prop(n[i].id);}}}
function CSICSS2Prop(id) { var n = document.getElementsByTagName('STYLE');for (var i=0;i<n.length;i++) { var cn = n[i].childNodes; for (var j=0;j<cn.length;j++) { CSSetCSS2Props(CSFetchStyle(cn[j].data, id),id); }}}
function CSFetchStyle(sc, id) {
	var s=sc; while(s.indexOf("#")!=-1) { s=s.substring(s.indexOf("#")+1,sc.length); if (s.substring(0,s.indexOf("{")).toUpperCase().indexOf(id.toUpperCase())!=-1) return(s.substring(s.indexOf("{")+1,s.indexOf("}")));}
	return "";
}
function CSGetStyleAttrValue (si, id) {
	var s=si.toUpperCase();
	var myID=id.toUpperCase()+":";
	var id1=s.indexOf(myID);
	if (id1==-1) return "";
	s=s.substring(id1+myID.length+1,si.length);
	var id2=s.indexOf(";");
	return ((id2==-1)?s:s.substring(0,id2));
}
function CSSetCSS2Props(si, id) {
	var el=document.getElementById(id);
	if (el==null) return;
	var style=document.getElementById(id).style;
	if (style) {
		if (style.left=="") style.left=CSGetStyleAttrValue(si,"left");
		if (style.top=="") style.top=CSGetStyleAttrValue(si,"top");
		if (style.width=="") style.width=CSGetStyleAttrValue(si,"width");
		if (style.height=="") style.height=CSGetStyleAttrValue(si,"height");
		if (style.visibility=="") style.visibility=CSGetStyleAttrValue(si,"visibility");
		if (style.zIndex=="") style.zIndex=CSGetStyleAttrValue(si,"z-index");
	}
}
function CSSetStylePos(s,d,p) {
	if (CSIsW3CDOM)d==0?document.getElementById(s).style.left=p+"px":document.getElementById(s).style.top=p+"px";
	else if(IsIE())(d==0)?CSIEStyl(s).posLeft=p:CSIEStyl(s).posTop=p;
	else (d==0)?CSNSStyl(s).left=p:CSNSStyl(s).top=p;
}
function CSGetStylePos(s,d) {
	if (CSIsW3CDOM){CSIDOM();return parseInt((d==0)?document.getElementById(s).style.left:document.getElementById(s).style.top);}
	else if (IsIE()) {CSIEWinInit();return(d==0)?CSIEStyl(s).posLeft:CSIEStyl(s).posTop;}
	else {return (d==0)?CSNSStyl(s).left:CSNSStyl(s).top;}
}
CSIEWInit=false;
function CSIEWinInit() { if(CSIEWInit==true) return; else CSIEWInit=true; if (IsIE()&&(CSAg.indexOf("Win")!=-1)&&CSBVers==4) { var i=0; var lyr=document.all.tags("div")[i++]; while(lyr) {lyr.style.posLeft=lyr.offsetLeft; lyr.style.posTop=lyr.offsetTop; lyr=document.all.tags("div")[i++];}}}
CSLoopIsRunning = false; CSFctArray = new Array; CSTimeoutID = null;
function CSLoop() {	
	CSLoopIsRunning = false;
	for (i=0;i<CSFctArray.length;i++) {
		var curFct = CSFctArray[i];
		if (curFct)	{
			if (curFct.DoFunction(curFct)) { CSLoopIsRunning = true; curFct.counter++; }
			else CSFctArray[i] = 0;
		}
	}
	if (CSLoopIsRunning) CSTimeoutID = setTimeout("CSLoop()", 1);
}
function CSStartFunction(fct,data) {
	if (!CSLoopIsRunning) { CSFctArray = 0; CSFctArray = new Array; }
	var fctInfo = new Object;
	fctInfo.DoFunction = fct; fctInfo.counter = 0; fctInfo.data = data;
	CSFctArray[CSFctArray.length] = fctInfo; 
	if (!CSLoopIsRunning) CSLoop();
}
function CSStopFunction(sceneName) {
	var i;
	for (i=0;i<CSFctArray.length;i++) {
		var curFct = CSFctArray[i];
		if (curFct){ if (curFct.data.name == sceneName){ CSFctArray[i] = 0; return; } }
	}
}
function CSStopComplete() {
	if (CSTimeoutID == null) return;
	clearTimeout (CSTimeoutID); CSLoopIsRunning = false; CSTimeoutID = null;
}
function CSMoveLoop(fInf) {
	var ticks = 60 * (((new Date()).getTime()) - fInf.data.startTime)/1000;
	var f = ticks/fInf.data.ticks;
	if (f < 1) { CSSetStylePos(fInf.data.layer,0,fInf.data.start[0] * (1-f) + fInf.data.end[0] * f);
		CSSetStylePos(fInf.data.layer,1,fInf.data.start[1] * (1-f) + fInf.data.end[1] * f); return true; }
	else { CSSetStylePos(fInf.data.layer,0,fInf.data.end[0]);
		CSSetStylePos(fInf.data.layer,1,fInf.data.end[1]); }
	return false;
}
function CSSlideObj (layer,start,end,ticks,startTime) {
	this.layer=layer;this.start=start;this.end=end;this.ticks=ticks;this.startTime=startTime;
}
function CSSlideLayer(l,pos,anim,ticks) {
	var x = pos[0]; var y = pos[1];
	if (l == '') return;
	if (ticks < 0) ticks = 0;
	if (!anim) { CSSetStylePos(l,0,x); CSSetStylePos(l,1,y); }
	else {  var fctData = new CSSlideObj(l,new Array(CSGetStylePos(l,0),CSGetStylePos(l,1)),new Array(x,y),ticks,(new Date()).getTime()); CSStartFunction(CSMoveLoop,fctData); }
}
function CSMoveTo(action) { CSSlideLayer(action[1],action[2],action[3],action[4]); }

/*------------------------- mover capa - end ----------------------------------------------*/

function emailCheck (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
	alert("Incorrect email address, verify @ and dots - Dirección de correo incorrecta, verificar @ y puntos")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert("Invalid username - Nombre de usuario inválido")
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Invalid IP - Número de IP inválido")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("Invalid domain name - Nombre de dominio inválido")
    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>4) {
   // the address must end in a two letter or three letter word.
   alert("The domain extension must be with 2, 3 or 4 letters - La extensión de dominio debe tener 2, 3 o 4 letras")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="A hostname required - Se requiere un nombre de host"
   alert(errStr)
   return false
}

// If we've gotten this far, everything's valid!
return true;
}

/*-----------------------------------------------------------------------*/

function ValidForm(elform)
{
  // ------------ Validaciones para email
  if (elform.email.value == "")
  {
    alert("Invalid email address - Dirección de correo inválida");
    elform.email.focus();
    return (false);
  }
  if (emailCheck(elform.email.value))
  {
    //return (true);
  }
  else
  {
    elform.email.focus();
    return (false);
  }

  if (elform.email.value.length > 50)
  {
    alert("Maximum length 50 characters - Longitud máxima 50 caracteres");
    elform.email.focus();
    return (false);
  }

  // ------------ Validaciones para Comments
  if (elform.Comments.value == "")
  {
    alert("This field is required - Debe Completar este campo");
    elform.Comments.focus();
    return (false);
  }

  if (elform.Comments.value.length > 150)
  {
    alert("Maximum length 150 characters - Longitud máxima 150 caracteres");
    elform.Comments.focus();
    return (false);
  }
}

/*-----------------------------------------------------------------------*/

function ValidForm1(obj)
{
  // ------------ Validaciones para FirstName
  if (obj.FirstName.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.FirstName.focus();
    return (false);
  }
  if (obj.FirstName.value.length < 2)
  {
    alert("Minimum length 2 characters - Longitud mínima 2 caracteres");
    obj.FirstName.focus();
    return (false);
  }
  if (obj.FirstName.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.FirstName.focus();
    return (false);
  }
  // ------------ Validaciones para LastName
  if (obj.LastName.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.LastName.focus();
    return (false);
  }
  if (obj.LastName.value.length < 2)
  {
    alert("Minimum length 2 characters - Longitud mínima 2 caracteres");
    obj.LastName.focus();
    return (false);
  }
  if (obj.LastName.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.LastName.focus();
    return (false);
  }
  // ------------ Validaciones para Phone
  if (obj.Phone.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.Phone.focus();
    return (false);
  }
  // ------------ Validaciones para email
  if (obj.email.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.email.focus();
    return (false);
  }
  if (emailCheck(obj.email.value))
  {
    //return (true);
  }
  else
  {
    obj.email.focus();
    return (false);
  }

  if (obj.email.value.length > 50)
  {
    alert("Maximum length 50 characters - Longitud máxima 50 caracteres");
    obj.email.focus();
    return (false);
  }
  // ------------ Validaciones para PropertyLocation
  if (obj.PropertyLocation.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.PropertyLocation.focus();
    return (false);
  }
  // ------------ Validaciones para Comments
  if (obj.Comments.value.length > 150)
  {
    alert("Maximum length 150 characters - Longitud máxima 150 caracteres");
    obj.Comments.focus();
    return (false);
  }
  // ------------ Validaciones para CHECKBOX
	if (obj.Apartment_Flat.checked)
	{
		obj.Apartment_Flat.value="* SI *"
	}
	else
	{
		obj.Apartment_Flat.value="----"
		obj.Apartment_Flat.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Duplex.checked)
	{
		obj.Duplex.value="* SI *"
	}
	else
	{
		obj.Duplex.value="----"
		obj.Duplex.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Villa.checked)
	{
		obj.Villa.value="* SI *"
	}
	else
	{
		obj.Villa.value="----"
		obj.Villa.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Chalet.checked)
	{
		obj.Chalet.value="* SI *"
	}
	else
	{
		obj.Chalet.value="----"
		obj.Chalet.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Commercial.checked)
	{
		obj.Commercial.value="* SI *"
	}
	else
	{
		obj.Commercial.value="----"
		obj.Commercial.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Residential_Retirement_Home.checked)
	{
		obj.Residential_Retirement_Home.value="* SI *"
	}
	else
	{
		obj.Residential_Retirement_Home.value="----"
		obj.Residential_Retirement_Home.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Holiday_Home.checked)
	{
		obj.Holiday_Home.value="* SI *"
	}
	else
	{
		obj.Holiday_Home.value="----"
		obj.Holiday_Home.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Commercial_Investment.checked)
	{
		obj.Commercial_Investment.value="* SI *"
	}
	else
	{
		obj.Commercial_Investment.value="----"
		obj.Commercial_Investment.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Business.checked)
	{
		obj.Business.value="* SI *"
	}
	else
	{
		obj.Business.value="----"
		obj.Business.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Other.checked)
	{
		obj.Other.value="* SI *"
	}
	else
	{
		obj.Other.value="----"
		obj.Other.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Euros_50000_100000.checked)
	{
		obj.Euros_50000_100000.value="* SI *"
	}
	else
	{
		obj.Euros_50000_100000.value="----"
		obj.Euros_50000_100000.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Euros_101000_150000.checked)
	{
		obj.Euros_101000_150000.value="* SI *"
	}
	else
	{
		obj.Euros_101000_150000.value="----"
		obj.Euros_101000_150000.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Euros_151000_200000.checked)
	{
		obj.Euros_151000_200000.value="* SI *"
	}
	else
	{
		obj.Euros_151000_200000.value="----"
		obj.Euros_151000_200000.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Euros_201000_300000.checked)
	{
		obj.Euros_201000_300000.value="* SI *"
	}
	else
	{
		obj.Euros_201000_300000.value="----"
		obj.Euros_201000_300000.checked=true
	}
  // ------------ Validaciones para CHECKBOX
	if (obj.Over_300000.checked)
	{
		obj.Over_300000.value="* SI *"
	}
	else
	{
		obj.Over_300000.value="----"
		obj.Over_300000.checked=true
	}
	//--------------------------------------
}

/*-----------------------------------------------------------------------*/

function ValidFormPDF(obj)
{
  // ------------ Validaciones para FirstName
  if (obj.FirstName.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.FirstName.focus();
    return (false);
  }
  if (obj.FirstName.value.length < 2)
  {
    alert("Minimum length 2 characters - Longitud mínima 2 caracteres");
    obj.FirstName.focus();
    return (false);
  }
  if (obj.FirstName.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.FirstName.focus();
    return (false);
  }
  // ------------ Validaciones para LastName
  if (obj.LastName.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.LastName.focus();
    return (false);
  }
  if (obj.LastName.value.length < 2)
  {
    alert("Minimum length 2 characters - Longitud mínima 2 caracteres");
    obj.LastName.focus();
    return (false);
  }
  if (obj.LastName.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.LastName.focus();
    return (false);
  }
  // ------------ Validaciones para Phone
  if (obj.Phone.value.length > 30)
  {
    alert("Maximum length 30 characters - Longitud máxima 30 caracteres");
    obj.Phone.focus();
    return (false);
  }
  // ------------ Validaciones para email
  if (obj.email.value == "")
  {
    alert("Fields marked with a * are required - Los campos marcados con un * son obligatorios");
    obj.email.focus();
    return (false);
  }
  if (emailCheck(obj.email.value))
  {
    //return (true);
  }
  else
  {
    obj.email.focus();
    return (false);
  }

  if (obj.email.value.length > 50)
  {
    alert("Maximum length 50 characters - Longitud máxima 50 caracteres");
    obj.email.focus();
    return (false);
  }
  // ------------ Validaciones para Comments
  if (obj.Comments.value.length > 150)
  {
    alert("Maximum length 150 characters - Longitud máxima 150 caracteres");
    obj.Comments.focus();
    return (false);
  }
  //--------------------------------------
}

/*-----------------------------------------------------------------------*/

function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=270,height=275,left = 362,top = 234')");
}

function open_win(win,w_popup,h_popup) {
	var L = (screen.width-w_popup) / 2;
	var H = (screen.height-h_popup) / 2;
   pop_up = window.open(win,"Popup","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,height="+h_popup+",width="+w_popup+",top="+H+",left="+L);
}
