$(document).ready(function() {

	setScreenClass();
	checkBrowser();
	setOrganizadorHeight();
	desplegables();
	if(document.getElementById("gMap")) { gMapLoader(); }
	if($.browser.msie && $.browser.version.number == 7) {
		$("#ie6Styles").remove();
	}
	if($.browser.msie == false) {
		$("#ie6Styles").remove();
		$("#ie7Styles").remove();
	}
	if($.browser.msie && $.browser.version.number == 6) {
		$("#ie7Styles").remove();
	}
	if(document.getElementById("banners")) { applyBannerCodes(); }

	if(vCodSap == "S094" && $.browser.msie == true) {
		$(".wlp-bighorn-window-content").css("margin","0px 0px 0px 0px").css("padding","0px 0px 0px 0px");
		/*$("#portals_portal_portal_page_143 .wlp-bighorn-layout-flow-horizontal").css("width","98%");*/
	}
	if($.browser.msie == true) {
		footerBanners();
	}

//	cleanMessyCode();

});

$(window).resize(function(){
	setScreenClass();
});

function cleanMessyCode() {

	var regexp = /[0-9a-zA-Z]/gi;

	$("body div").each(function() {
		var thisDiv = $(this).html();
		if(thisDiv.match(regexp) == null) {
			$(this).remove();
		}
	});
}

//Funcion para cambiar el layout dependiendo de la resolucion de pantalla
// Importante! Despues de hacer el cambio de layout via js, no puedo utilizar los selectores avanzados en IE,
// ya que ese javascript no estaria cargado, asi que en screen1024.css y screen800.css solo puede haber selectores que entienda IE
function setScreenClass(){
	var fmt = document.documentElement.clientWidth;
	var cls = (fmt<1000) ? 'screen800' : 'screen1024';
	

	if($(".dynamicMap").length > 0) {
		var ifmt = document.documentElement.clientWidth;
		var cls2 = (ifmt<480) ? 'screen800' : 'screen1024';
		cambiarMapasRecintos(cls2,$("body").attr("class"));
	}

	$("body").removeAttr("class");
	$("body").addClass(cls);

	if(document.getElementById("cabeceraSalon")) {
	var cabImgSrc = $("#cabeceraSalon").attr('src');
	if(cls == "screen1024") {
		cabImgSrc = cabImgSrc.replace("screen800","screen1024");
		cabImgSrc = cabImgSrc.replace("screen1024","screen1024");
	}
	else {
		cabImgSrc = cabImgSrc.replace("screen1024","screen800");
		cabImgSrc = cabImgSrc.replace("screen800","screen800");
	}
	$("#cabeceraSalon").attr('src',cabImgSrc);
	}
	if(document.getElementById("headerRight")) { cambiarOrganizadorBtn(cls); }

};

function cambiarOrganizadorBtn(classID) {

    try {
		var scrNum = classID.replace("screen","");
		var currentClass = $("#headerRight ul li:eq(1) > div").attr("class");
		currentClass = currentClass.split(" ");
		currentClass = currentClass[1];
	
		if(classID == "screen800") {
			$("#headerRight ul li:eq(1) > div").addClass(currentClass+"_"+scrNum);
			$("#headerRight ul li.datos-login").addClass("datos-login_"+scrNum);
			$("#searchForm input[@type='text']").css("width","64%").css("margin-left","5px");
			moveButton(classID);
		}
		else {
			$("#headerRight ul li:eq(1) > div").removeClass(currentClass+"_800");
			$("#headerRight ul li.datos-login").removeClass("datos-login_800");
			$("#searchForm input[@type='text']").css("width","84%");
			moveButton(classID);
		}
    } catch(e){ }
}

$(document).ready(function() {
	if(checkBrowser() == "op") {
		$("#headerRight > ul > li #goSearch").css("float","right").css("margin-right","10px");
		$(".paginador").css("width","103% !important");
		$(".paginador > li").css("width","33.5% !important");
	}
	
});

function moveButton(classID) {
	if(checkBrowser() == "op" && classID == "screen800") { $("#headerRight > ul > li #goSearch").addClass("operaButton"); }
	else { $("#headerRight > ul > li #goSearch").removeClass("operaButton"); }
//	if(document.getElementById("OrganizadorAdder")) { organizerInitialElements(); }
}

function checkBrowser() {
	if($.browser.msie) { return "ie"; }
	if($.browser.mozilla) { return "ff"; }
	if($.browser.opera) { return "op"; }
	if($.browser.safari) { return "sa"; }
}




function organizerInitialElements() {

$("#OrganizadorAdder").find("label").css("display","none");
$("div.tools").html("<a href=\"#\" title=\"A&ntilde;adir todos al organizador\" class=\"add_all\">A&ntilde;adir todos al organizador</a>");
$("#organizerCounter").html("&nbsp;0&nbsp;");

$(".OrganizerStar").html("<a href=\"#\" class=\"clip\" title=\"A&ntilde;adir del organizador\">A&ntilde;adir del organizador</a>");
$(".OrganizerStar a").attr("id", function() { var thisID = $(this.parentNode).attr('id'); return organizerReturnElementID(thisID); } );

var defaultElements = $("#organizerElements_default").attr("value");
var getDefaultElementsValue = $("#organizerElements_"+defaultElements).attr("value");
var countDefaultElements = getDefaultElementsValue.split(",");

for(i=0; i<(countDefaultElements.length)-1; i++) {
	$(".OrganizerStar").find("a#"+countDefaultElements[i]).removeClass("clip").attr("title","A&ntilde;adir del organizador").html("A&ntilde;adir del organizador");
	$(".OrganizerStar").find("a#"+countDefaultElements[i]).addClass("unclip").attr("title","Eliminar del organizador").html("Eliminar del organizador");
}

$("#organizerCounter").html((countDefaultElements.length)-1);

$("a.add_all").click(function() { organizerAddAllElements(); return false; });
$("a.clip").click(function() { organizerAddElement(this.id); return false; });
$("a.unclip").click(function() { organizerRemoveElement(this.id); return false; });

}

function organizerReturnElementID(elID) {
var elID = elID.split("_");
return elID[1];
}

function organizerAddAllElements() {
alert("all added");
}

function organizerAddElement(elID) {
alert(elID);
}

function organizerRemoveElement(elID) {
alert(elID);
}

function setOrganizadorHeight() {
if(document.getElementById("organizadorBox")) {
var divH = $("div.large").height();
$("div.organizadorBox").css("height",divH+80);
}
}

function desplegables() {

$("a.open").css("background","none").css("border","none").css("padding-bottom","0px").css("margin-bottom","0px");
$("strong.open").css("background","none").css("border","none").css("padding-bottom","0px").css("margin-bottom","0px");

$("a.open").click(function() {
$("a.open").css("background","url('http://contentp.firabcn.es/contenidos/comunes/imgcomuns/dd_open.png')").css("background-position","right top").css("background-repeat","no-repeat").css("border-bottom","1px solid #ddd").css("padding-bottom","10px").css("margin-bottom","10px");
var thisUL = $(this).parent().find("ul");
if(thisUL.is(":hidden")) {
$(thisUL).slideDown("slow");
}
else {
$(thisUL).slideUp("slow");
$("a.open").css("background","none").css("border","none").css("padding-bottom","0px").css("margin-bottom","0px");
}
setTimeout("setOrganizadorHeight()", 1000);
});

$("strong.open").click(function() {
$("strong.open").css("background","url('http://contentp.firabcn.es/contenidos/comunes/imgcomuns/dd_open.png')").css("background-position","right top").css("background-repeat","no-repeat").css("border-bottom","1px solid #ddd").css("padding-bottom","10px").css("margin-bottom","10px");
var thisUL = $(this).parent().parent().find("ul");
if(thisUL.is(":hidden")) {
$(thisUL).slideDown("slow");
}
else {
$(thisUL).slideUp("slow");
$("strong.open").css("background","none").css("border","none").css("padding-bottom","0px").css("margin-bottom","0px");
}

});

}

/*#################################################*/
function jsTranslate(word,lang) {
	switch (lang) {
		case "ca":
			return word.ca;
		break;
		case "es":
			return word.es;
		break;
		case "en":
			return word.en;
		break;
		default: return word.ca;
	}
}
/*#################################################*/
function gMapLoader(toDo) {

if(toDo == undefined) {
	map = new GMap2(document.getElementById("mapHolder"));
	directions = new GDirections(map, document.getElementById("routeBar"));
	map.enableDoubleClickZoom();
	map.enableScrollWheelZoom();
	map.addControl(new GSmallMapControl());
	geocoder = new GClientGeocoder();
	geocoder.getLatLng("Barcelona,+Spain", function(point) {
		if (!point) {
			alert(jsTranslate(MAP_ADDRESSNOTFOUND,DEFINE_GLOBAL_LANGUAGE) + $("#gMapToAddress").val());
		}
		else {
			map.setCenter(new GLatLng(41.373588, 2.154415), 13);
			var marker = new GMarker(point);
			var latlng = new GLatLng("41.3745", "2.1495"); map.addOverlay(createMarker(latlng,MAP_FIRA_PLACAESPANA));
			var latlng = new GLatLng("41.377", "2.1804"); map.addOverlay(createMarker(latlng,MAP_FIRA_PORTVELL));
			var latlng = new GLatLng("41.352", "2.131"); map.addOverlay(createMarker(latlng,MAP_FIRA_GRANVIA));
		}
	});

	$("#gMapShowPath").click(function() {
		if($("#gMapStopSlide").val() != "1") {
			$("#routeBar").animate( { height: "250px" }, 1500);
		}
		$("#routeBar").html("<div class=\"gMapLoading\" style=\"\"><img src=\"http://contentp.firabcn.es/contenidos/comunes/imgcomuns/gMapLoading.gif\" /><br />"+jsTranslate(GLOBAL_LOADING,DEFINE_GLOBAL_LANGUAGE)+"</div>");
		$("#routeBar").css("margin-bottom","10px");
		setTimeout("gMapLoader('setDirs')",2000);
		return false;
	});
}

if(toDo == "setDirs") {
	$("#routeBar").find("div.gMapLoading").remove();
	directions.load("from: " + $("#gMapFromAddress").val() + " to: " + $("#gMapToAddress").val(), { "locale": DEFINE_GLOBAL_LANGUAGE });
	$("#gMapStopSlide").val("1");
}

}
/*#################################################*/
function createMarker(point,ubi) {
	var baseIcon = new GIcon();
	baseIcon.shadow = "http://contentp.firabcn.es/contenidos/comunes/imgcomuns/ico_google_map.png";
	baseIcon.iconSize = new GSize(36, 36);
	baseIcon.shadowSize = new GSize(36, 36);
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
	var letteredIcon = new GIcon(baseIcon);
	letteredIcon.image = "http://contentp.firabcn.es/contenidos/comunes/imgcomuns/ico_google_map.png";
	markerOptions = { icon:letteredIcon };
	var marker = new GMarker(point, markerOptions);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(parseHTML(jsTranslate(ubi,DEFINE_GLOBAL_LANGUAGE)));
		$("cTable").parent().parent().css("height","200px").css("overflow","auto");
	});
return marker;
}
function parseHTML(code) {
	var countCode = code.length;
	for(i=0;i<countCode;i++) {
		code = code.replace("&gt;",">");
		code = code.replace("&lt;","<");
		code = code.replace("&quot;","\"");
		code = code.replace("&amp;","&");
		code = code.replace("&nbsp;"," ");		
	}
	return code;
}
/*#################################################*/
function cambiarMapasRecintos(screen,currentScreen) {
var ifMap = $(document).find(".dynamicMap");
var ifReserve = $(document).find("map");
if(ifMap.length > 0) {
$(".dynamicMap").each(function() {
	if(screen == "screen800") {
		var thisImgSRC = $(this).attr("src");
		var img = thisImgSRC.split("_");
		if(ifReserve.length > 0) { var imgHeight = "303px"; } else { var imgHeight = "220px"; }
		$(this).attr("src",img[0]+"_800.jpg").attr("width","379px").attr("height",imgHeight);
	}
	else {
		var thisImgSRC = $(this).attr("src");
		var img = thisImgSRC.split("_");
		if(ifReserve.length > 0) { var imgHeight = "385px"; } else { var imgHeight = "270px"; }
		$(this).attr("src",img[0]+"_1024.jpg").attr("width","500px").attr("height",imgHeight);
	}
});

$("map area").eq(0).click(function() {
	var openerID = document.referrer;
	openerID = openerID.split("?");
	var domainID = openerID[0].split("/");
	var salonEdicion = domainID[6];
	var thisSID = salonEdicion.substring(0,4);
	if(cod2link[thisSID] != undefined) {
		window.open(cod2link[thisSID]);
		return false;
	}
});

}
}

function applyBannerCodes() {
	var openerID = document.referrer;
	openerID = openerID.split("?");
	var domainID = openerID[0].split("/");
	var salonEdicion = domainID[6];
	var domain = domainID[2];
	domain = "http://"+domain+"/";
	$("table.links").find("code").each(function() {
		var thisHTML = $(this).html();
		thisHTML = thisHTML.replace("@",domain);
		thisHTML = thisHTML.replace("#",salonEdicion);
		$(this).html(thisHTML);
	});
}

function footerBanners() {

	var maxItemPerLine = 7;

	var d1 = $("#adsNew div:eq(0) ul li").length;
	var d2 = $("#adsNew div:eq(1) ul li").length;
	var d3 = $("#adsNew div:eq(2) ul li").length;
	var d4 = $("#adsNew div:eq(3) ul li").length;

	if( (d1 < maxItemPerLine) && (d2 > (maxItemPerLine - d1) ) ) {
		$("#adsNew div:eq(1)").css("width",d2*140);
	}
	if( (d2 < maxItemPerLine) && (d3 > (maxItemPerLine - d2) ) ) {
		$("#adsNew div:eq(2)").css("width",d3*140);
	}
	if( (d3 < maxItemPerLine) && (d4 > (maxItemPerLine - d3) ) ) {
		$("#adsNew div:eq(3)").css("width",d4*140);
	}
	
}
