// JavaScript Document
staticLoadScript("/templates/js/jquery.cookie.js");
staticLoadScript("/templates/js/mortgagecalculator.js");
//
propertySearch();
rightBlocks();
propertyTabs();
//
var focusFieldArray = new Array();
function focusField(theField,theIndex) {
	focusFieldArray[theIndex] = theField.value;
	theField.value = "";
}
function unFocusField(theField,theIndex) {
	if(theField.value=="") {
		theField.value = focusFieldArray[theIndex];	
	}
}
//
function propertyTabs(showLayer) {
	if(showLayer=="#container-1")
	{
		$(showLayer).show();
		$("#container-2").hide();
	}
	else if(showLayer=="#container-2")
	{
		$(showLayer).show();
		$("#container-1").hide();
	}
}
//
function propertySearchForm() {
	document.propertysearchform.submit();	
}
//
var preloadImagery = "";
var preloadCall = 0;
function preloadImages(preimages) {
	preloadImagery = preloadImagery + preimages;
	preloadCall++;
	if(preloadCall==1) {
		jQuery(document).ready(function(){
			var tempImg = [];										
			preloadarr=preloadImagery.split(";");
			for(var x=0;x<preloadarr.length;x++) { 
				tempImg[x] = new Image() 
				tempImg[x].src = preloadarr[x] ;
			}
			//alert("preload call" +preloadarr.length);
		});
	};
}
function propertySearch() {
	jQuery(document).ready(function(){
		$("#provincia").change(function()
		{
			var loc = $("OPTION:selected", this).val();
			 $.ajax({
			   type: "POST",
			   url: "/templates/ajax/getPueblosDropdown.jsp",
			   data: "action="+loc,
			   success: function(msg){
					$("#searchTown").html(msg);
					propertyNumber();
			   }
			 });
		});	
	});
}
function propertyNumber() {
	var provincia = $("#provincia OPTION:selected").val();
	var pueblo = $("#pueblos OPTION:selected").val();
	if(pueblo==undefined)
		pueblo = "";
	var propertyCategory = $("#property_category OPTION:selected").val();
	var propertyPriceMin = $("#property_price_min OPTION:selected").val();
	var propertyPriceMax = $("#property_price_max OPTION:selected").val();
	var propertyBdroomsMin = $("#property_bdrooms_min OPTION:selected").val();
	var propertyBdroomsMax = $("#property_bdrooms_max OPTION:selected").val();
	//
	var q = "provincia="+provincia+"&pueblos="+pueblo+"&property_category="+propertyCategory+"&property_price_min="+propertyPriceMin+"&property_price_max="+propertyPriceMax+ "&property_bdrooms_min="+propertyBdroomsMin+"&property_bdrooms_max="+propertyBdroomsMax;
	var s = "/templates/ajax/searchNumber.jsp";
	//alert(s+"?"+q);
	//$("#propertiesdebug").html(s+"?"+q);
	//
	$.ajax({
		type: "POST",
		url: "/templates/ajax/searchNumber.jsp",
		data: q,
		success: function(msg){
			if(msg.startsWith("0")) {
				$("#propertyfind").hide();					
			}
			else
			{
				$("#propertyfind").show();
			}
			$("#propertiesfound").html(msg);
		}
	});
	return 0;
}
//The block needs an id to remember the setting
String.prototype.startsWith = function(str) 
{return (this.match("^"+str)==str)}
//
function rightBlocks() {
	jQuery(document).ready(function(){
		var $b = $(".rightColumn .block");
		//$(".content",$b).hide();
		
		$b.each(function() {
			var cookieEle = $(this).attr('id');
			if($.cookie(cookieEle)=="true") {
				$(".content",this).show();
			} else {
				$(".content",this).hide();				
			}
		});
				
		$("h2",$b).click(function()
		{
			var block = $(this).parent();
			var content = $(".content",block);
			content.toggle();
			var blockId = block.attr('id');
			if(content.is(':visible')) {
				$.cookie(blockId, "true", { expires: 365 });
			} else { 
				$.cookie(blockId, null);
			}
		});
	});
}

function loadThumb(imagepath) {
	//alert(imagepath);
	var img = new Image();
	$(img).load(function () {
		//alert("loaded");
		//$(this).css('display', 'none'); // .hide() doesn't work in Safari when the element isn't on the DOM already
		$(this).hide();
		$('.largePropertyImage').html(this);
		$(this).show();
		//$(this).fadeIn();
	}).error(function () {
		// notify the user that the image could not be loaded
	}).attr('src', imagepath);
	
}  
//
// MAP Functions
function mapSelect(ccCode) {
	var indexCC = Array.find(provinciaCode,ccCode);
	//alert(provinciaCode.length + " " + indexCC);
	var provinciaIdVal = "provincia_"+provinciaId[indexCC];
	var $pro = $("#provincia");
	$pro.val(provinciaIdVal);
	$.ajax({
	   type: "POST",
	   url: "/templates/ajax/getPueblosDropdown.jsp",
	   data: "action="+provinciaIdVal,
	   success: function(msg){
			$("#searchTown").html(msg);
			propertyNumber();			
	   }
	});
	//alert(provinciaIdVal);	
}

Array.find = function(ary, element){
	for(var i=0; i<ary.length; i++){
		if(ary[i] == element){
			return i;
		}
	}
	return -1;
}

var provinciaId = new Array();
var provinciaCode = new Array();
provinciaId[0] = 1;provinciaCode[0] = 'ES-VI';provinciaId[1] = 2;provinciaCode[1] = 'ES-AB';provinciaId[2] = 3;provinciaCode[2] = 'ES-A';provinciaId[3] = 4;provinciaCode[3] = 'ES-AL';provinciaId[4] = 5;provinciaCode[4] = 'ES-O';provinciaId[5] = 6;provinciaCode[5] = 'ES-AV';provinciaId[6] = 7;provinciaCode[6] = 'ES-BA';provinciaId[7] = 8;provinciaCode[7] = 'ES-B';provinciaId[8] = 9;provinciaCode[8] = 'ES-BU';provinciaId[9] = 10;provinciaCode[9] = 'ES-CC';provinciaId[10] = 11;provinciaCode[10] = 'ES-CA';provinciaId[11] = 12;provinciaCode[11] = 'ES-S';provinciaId[12] = 13;provinciaCode[12] = 'ES-CS';provinciaId[13] = 14;provinciaCode[13] = 'ES-CE';provinciaId[14] = 15;provinciaCode[14] = 'ES-CR';provinciaId[15] = 16;provinciaCode[15] = 'ES-CO';provinciaId[16] = 17;provinciaCode[16] = 'ES-CU';provinciaId[17] = 18;provinciaCode[17] = 'ES-GI';provinciaId[18] = 19;provinciaCode[18] = 'ES-GR';provinciaId[19] = 20;provinciaCode[19] = 'ES-GU';provinciaId[20] = 21;provinciaCode[20] = 'ES-null';provinciaId[21] = 22;provinciaCode[21] = 'ES-H';provinciaId[22] = 23;provinciaCode[22] = 'ES-HU';provinciaId[23] = 24;provinciaCode[23] = 'ES-PM';provinciaId[24] = 25;provinciaCode[24] = 'ES-J';provinciaId[25] = 26;provinciaCode[25] = 'ES-C';provinciaId[26] = 27;provinciaCode[26] = 'ES-LO';provinciaId[27] = 28;provinciaCode[27] = 'ES-GC';provinciaId[28] = 29;provinciaCode[28] = 'ES-LE';provinciaId[29] = 30;provinciaCode[29] = 'ES-L';provinciaId[30] = 31;provinciaCode[30] = 'ES-LU';provinciaId[31] = 32;provinciaCode[31] = 'ES-M';provinciaId[32] = 33;provinciaCode[32] = 'ES-MA';provinciaId[33] = 34;provinciaCode[33] = 'ES-null';provinciaId[34] = 35;provinciaCode[34] = 'ES-MU';provinciaId[35] = 36;provinciaCode[35] = 'ES-NA';provinciaId[36] = 37;provinciaCode[36] = 'ES-OR';provinciaId[37] = 38;provinciaCode[37] = 'ES-P';provinciaId[38] = 39;provinciaCode[38] = 'ES-PO';provinciaId[39] = 40;provinciaCode[39] = 'ES-TF';provinciaId[40] = 41;provinciaCode[40] = 'ES-SA';provinciaId[41] = 42;provinciaCode[41] = 'ES-SG';provinciaId[42] = 43;provinciaCode[42] = 'ES-SE';provinciaId[43] = 44;provinciaCode[43] = 'ES-SO';provinciaId[44] = 45;provinciaCode[44] = 'ES-T';provinciaId[45] = 46;provinciaCode[45] = 'ES-TE';provinciaId[46] = 47;provinciaCode[46] = 'ES-T';provinciaId[47] = 48;provinciaCode[47] = 'ES-V';provinciaId[48] = 49;provinciaCode[48] = 'ES-VA';provinciaId[49] = 50;provinciaCode[49] = 'ES-null';provinciaId[50] = 51;provinciaCode[50] = 'ES-ZA';provinciaId[51] = 52;provinciaCode[51] = 'ES-Z';


// END OF MAP FUNCTIONS

function setMenu(id) {
	$("#nav"+id).addClass('sel');
}	

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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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];}
}

//<a href="mypage.html?detectflash=false">Bypass link</a>
var startSlide = 0;
function loadSWFObject(div_id, src, movie_id, w, h, v, bgcolor) {

	if(!FlashDetect.installed)
	{
		if(getURLParam("detectflash")!="false")
		{
			window.location.href = window.location+"?detectflash=false";
		}
	}	
	//
	var so = new SWFObject(src, movie_id, w, h, v, bgcolor);
	so.addParam("quality", "high");
	so.addParam("scale", "exactfit");
	so.addParam("salign", "LT");
	//so.addParam("menu", "false");
	so.addParam("wmode", "transparent");
	so.addParam("swLiveConnect", "true");
	so.addParam("name", div_id);
	so.addParam("allowScriptAccess", "sameDomain");
	so.addVariable("slidexml", slidexml);
	so.addVariable("startSlide", startSlide);

	so.write(div_id);
}

/*
Copyright (c) Copyright (c) 2007, Carl S. Yestrau All rights reserved.
Code licensed under the BSD License: http://www.featureblend.com/license.txt
Version: 1.0.3
*/
var FlashDetect = new function(){
	var self = this;
	self.installed = false;
	self.raw = "";
	self.major = -1;
	self.minor = -1;
	self.revision = -1;
	self.revisionStr = "";
	var activeXDetectRules = [
		{
			"name":"ShockwaveFlash.ShockwaveFlash.7",
			"version":function(obj){
				return getActiveXVersion(obj);
			}
		},
		{
			"name":"ShockwaveFlash.ShockwaveFlash.6",
			"version":function(obj){
				var version = "6,0,21";
				try{
					obj.AllowScriptAccess = "always";
					version = getActiveXVersion(obj);
				}catch(err){}
				return version;
			}
		},
		{
			"name":"ShockwaveFlash.ShockwaveFlash",
			"version":function(obj){
				return getActiveXVersion(obj);
			}
		}
	];
	var getActiveXVersion = function(activeXObj){
		var version = -1;
		try{
			version = activeXObj.GetVariable("$version");
		}catch(err){}
		return version;
	};
	var getActiveXObject = function(name){
		var obj = -1;
		try{
			obj = new ActiveXObject(name);
		}catch(err){}
		return obj;
	};
	var parseActiveXVersion = function(str){
		var versionArray = str.split(",");//replace with regex
		return {
			"raw":str,
			"major":parseInt(versionArray[0].split(" ")[1], 10),
			"minor":parseInt(versionArray[1], 10),
			"revision":parseInt(versionArray[2], 10),
			"revisionStr":versionArray[2]
		};
	};
	var parseStandardVersion = function(str){
		var descParts = str.split(/ +/);
		var majorMinor = descParts[2].split(/\./);
		var revisionStr = descParts[3];
		return {
			"raw":str,
			"major":parseInt(majorMinor[0], 10),
			"minor":parseInt(majorMinor[1], 10),
			"revisionStr":revisionStr,
			"revision":parseRevisionStrToInt(revisionStr)
		};
	};
	var parseRevisionStrToInt = function(str){
		return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision;
	};
	self.majorAtLeast = function(version){
		return self.major >= version;
	};
	self.FlashDetect = function(){
		if(navigator.plugins && navigator.plugins.length>0){
			var type = 'application/x-shockwave-flash';
			var mimeTypes = navigator.mimeTypes;
			if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){
				var version = mimeTypes[type].enabledPlugin.description;
				var versionObj = parseStandardVersion(version);
				self.raw = versionObj.raw;
				self.major = versionObj.major;
				self.minor = versionObj.minor;
				self.revisionStr = versionObj.revisionStr;
				self.revision = versionObj.revision;
				self.installed = true;
			}
		}else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){
			var version = -1;
			for(var i=0; i<activeXDetectRules.length && version==-1; i++){
				var obj = getActiveXObject(activeXDetectRules[i].name);
				if(typeof obj == "object"){
					self.installed = true;
					version = activeXDetectRules[i].version(obj);
					if(version!=-1){
						var versionObj = parseActiveXVersion(version);
						self.raw = versionObj.raw;
						self.major = versionObj.major;
						self.minor = versionObj.minor;
						self.revision = versionObj.revision;
						self.revisionStr = versionObj.revisionStr;
					}
				}
			}
		}
	}();
};
FlashDetect.release = "1.0.3";

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( 
		aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
} 
function staticLoadScript(url)
{
   document.write('<script src="', url, '" type="text/JavaScript"><\/script>');
}
