//
function find_object(n, d) {
  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=find_object(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//preload images
function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
//SwapImageRestore
function swap_image() {
  var i,j=0,x,a=swap_image.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=find_object(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//SwapImage
function restore_image() {
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//change im
function changeProp(objName,x,theProp,theValue) {
  var obj = find_object(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
// check form
function checkForm() {
  var args = checkForm.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = find_object(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==4)){ // time
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&args[i+2]==5){ // check this 2
            var myObj1 = find_object(args[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&args[i+2]==6){ // the same
            var myObj1 = find_object(args[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&find_object(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&find_object(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert(myErr)}
  document.returnValue = (myErr=='');
}

function hideMsg() {
	document.getElementById("alertMsg").style.display = "none";
	}

// AJAX OBJECT
var xmlhttp;
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
	// code for IE7+, Firefox, Chrome, Opera, Safari
	return new XMLHttpRequest();
	}
if (window.ActiveXObject) {
	// code for IE6, IE5
	return new ActiveXObject("Microsoft.XMLHTTP");
	}
return null;
}
// DISPLAY CHECK
function stateChanged() {
	if (xmlhttp.readyState < 4) {
		document.getElementById("infoDiv").innerHTML = '<div align="center"><img src="./images/waiting.gif" width="16" height="16"></div>';
	}	
	if (xmlhttp.readyState == 4) {
		document.getElementById("infoDiv").innerHTML = xmlhttp.responseText;
	}
}
// DEV INFO
function devInfo(devId, lang) {
	xmlhttp = GetXmlHttpObject();
	if (xmlhttp == null) {
		alert ("Function is not supported, please update your browser. (HTTP Request)");
		return;
	}
	var url = "consultas_process.php";
	url = url + "?modo=devInfo&devId=" + devId + "&lang=" + lang;
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
// PROG INFO
function progInfo(progId, lang) {
	xmlhttp = GetXmlHttpObject();
	if (xmlhttp == null) {
		alert ("Function is not supported, please update your browser. (HTTP Request)");
		return;
	}
	var url = "consultas_process.php";
	url = url + "?modo=progInfo&progId=" + progId + "&lang=" + lang;
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

// FLOOR PLANS OPTIONS
function floorplanOptions(level, lang, devId) {
	var floorplanId = document.getElementById("floorplanSelect").options[document.getElementById("floorplanSelect").selectedIndex].value;
	if (floorplanId != "none") {
		xmlhttp = GetXmlHttpObject();
		if (xmlhttp == null) {
			alert ("Function is not supported, please update your browser. (HTTP Request)");
			return;
		}
		var url = "consultas_process.php";
		url = url + "?modo=floorplanInfo&devId=" + devId + "&floorplanId=" + floorplanId + "&lang=" + lang + "&nivel=" + level;
		xmlhttp.onreadystatechange = stateChanged_floorplan;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else {
		document.getElementById("floorplanOptionsDiv").innerHTML = '';
	}
}
function stateChanged_floorplan() {
	if (xmlhttp.readyState < 4) {
		document.getElementById("floorplanOptionsDiv").innerHTML = '<div align="center"><img src="./images/waiting.gif" width="16" height="16"></div>';
	}	
	if (xmlhttp.readyState == 4) {
		document.getElementById("floorplanOptionsDiv").innerHTML = xmlhttp.responseText;
	}
}

// LIST OPTIONS
function listOptions(level, lang, devId, listOptionsDivId, listSelectId) {
	var listId = document.getElementById(""+listSelectId+"").options[document.getElementById(""+listSelectId+"").selectedIndex].value;
	if (listId != "none") {
		xmlhttp = GetXmlHttpObject();
		if (xmlhttp == null) {
			alert ("Function is not supported, please update your browser. (HTTP Request)");
			return;
		}
		var url = "consultas_process.php";
		url = url + "?modo=listInfo&devId=" + devId + "&listId=" + listId + "&lang=" + lang + "&nivel=" + level;
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState < 4) {
				document.getElementById(""+listOptionsDivId+"").innerHTML = '<div align="center"><img src="./images/waiting.gif" width="16" height="16"></div>';
			}	
			if (xmlhttp.readyState == 4) {
				//alert(xmlhttp.responseText);
				document.getElementById(""+listOptionsDivId+"").innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else {
		document.getElementById(""+listOptionsDivId+"").innerHTML = '';
		document.getElementById("infoDiv").innerHTML = '';
	}
}
function stateChanged_list(listOptionsDivId) {
	if (xmlhttp.readyState < 4) {
		document.getElementById(""+listOptionsDivId+"").innerHTML = '<div align="center"><img src="./images/waiting.gif" width="16" height="16"></div>';
	}	
	if (xmlhttp.readyState == 4) {
		//alert(xmlhttp.responseText);
		document.getElementById(""+listOptionsDivId+"").innerHTML = xmlhttp.responseText;
	}
}

// delete development Confirm prompt
function confirmDel_es(url) {
	if (confirm('Se eliminaran todos los archivos relacionados a este desarrollo\nżRealmente deseas elimninarlo?')) {
		// call del script
		window.location = url;
		}
	}
function confirmDel_en(url) {
	if (confirm('All files related will be deleted\nżAre you sure?')) {
		// call del script
		window.location = url;
		}
	}
