var imagenOculta= 0;
var bigImagenOculta= 0;
var cookieName = "contactToSalesMan";
var cookieSeparator = "|";
var cookieSave = true;
var cookieValue = "";
var imagenSeleccionada = "1";
var imagenGrandeSeleccionada = "bigFoto1";
var cantidadFotos = 0;
var formId;

function loadRecommend(sURL, sDivID, frameId, src){

  document.getElementById(sDivID).innerHTML = "";
  
  refreshStyleSheet();

  var oParam = new Object();
  oParam.textAreaID = 'comment';
  oParam.spanLimitID = 'recommendAdvertisementLimit';
  oParam.limitCount = 200;
  oParam.iFrameID = frameId;
  oParam.src = src;

  loadIntoAndExecuteCallback(sURL, sDivID, initTextCharCounterAndTrack, oParam); 
  document.getElementById(sDivID).style.display = "block";
  refreshStyleSheet();
  centerDiv(document.getElementById(sDivID));
}

function loadReport(sURL, sDivID, frameId, src){

  document.getElementById(sDivID).innerHTML = "";
  refreshStyleSheet();

  var oParam = new Object();
  oParam.textAreaID = 'comment';
  oParam.spanLimitID = 'reportAdvertisementLimit';
  oParam.limitCount = 200;
  oParam.iFrameID = frameId;
  oParam.src = src;

  loadIntoAndExecuteCallback(sURL, sDivID, initTextCharCounterAndTrack, oParam);  
  document.getElementById(sDivID).style.display = "block";
  refreshStyleSheet();
  centerDiv(document.getElementById(sDivID));
}

function initTextCharCounterAndTrack(sResult, oParam){
	initializeTextareaCharCounter(sResult, oParam);
	createFrame(oParam.oParams.iFrameID, oParam.oParams.src);
}

function initializeTextareaCharCounter(sResult, oParam)
{
 var sTextAreaId = oParam.oParams.textAreaID;
 var sSpanLimitId =  oParam.oParams.spanLimitID;
 var iLimitcount = oParam.oParams.limitCount;
 /* contador de caracteres */
 if (document.getElementById(sTextAreaId))
 {
	displaylimit(sTextAreaId, iLimitcount, sSpanLimitId);
	countlimit(iLimitcount,sSpanLimitId,sTextAreaId);
 }
}


function closeDiv(sDivID)
{
  document.getElementById(sDivID).style.display = "none";
  document.getElementById(sDivID).innerHTML = "";
}

function loadContactToSalesman(sURL, sDivID, frameId, src){
 
  document.getElementById(sDivID).innerHTML = "";
  refreshStyleSheet();
  
  var oParam = new Object();
  oParam.textAreaID = 'comment';
  oParam.spanLimitID = 'contactToSalesManLimit';
  oParam.limitCount = 200;
  oParam.iFrameId = frameId;
  oParam.src = src;
  
  loadIntoAndExecuteCallback(sURL, sDivID, initTextCharCounterAndCreateTrackFrame, oParam);
  document.getElementById(sDivID).style.display = "block";
  refreshStyleSheet();
}

function  loadContactCookieValues(formId) {
	cookie = getCookie(cookieName);
	if(cookie != null) {
		var values = cookie.split(cookieSeparator);
		
		if(values.length >= 6) {
			$j('#'+formId+' input[name*=name]').val(unescape(values[0]));
			$j('#'+formId+' input[name*=email]').val(unescape(values[1]));
			$j('#'+formId+' input[name*=phone]').val(unescape(values[3]));
			$j('#'+formId+' input[name*=prePhone]').val(unescape(values[2]));
			$j('#'+formId+' textarea[name*=comment]').val(unescape(values[4]));			
			if(values[5] != null && values[5] == 'true')
				$j('#'+formId+' input[name*=sendMail]').attr("checked", true);
			else
				$j('#'+formId+' input[name*=sendMail]').attr("checked", false);
		}
	}
}

function initTextCharCounterAndCreateTrackFrame(sResult, oParam){
	loadContactCookieValues();
	initializeTextareaCharCounter(sResult, oParam);
	createFrame(oParam.oParams.iFrameID, oParam.oParams.src);
}

function contactToSalesManSuccessSubmit(sResult, oParam){
	if(sResult != null && (sResult.indexOf(oParam.successText) > 0))
	{
		//Track
		createFrame(oParam.iFrameID, oParam.src);
		createFrame(oParam.iFrameAnalyticsID, oParam.srcAnalyticsSuccess);
		//Save cookie if required
		if(cookieSave)
			
			setCookie(cookieName, cookieValue, "", "/", "", "");
		else
			deleteCookie(cookieName, "/", "");
	}
	else
	{
		charactersRemain(sResult, oParam);
		createFrame(oParam.iFrameAnalyticsID, oParam.srcAnalyticsFail);	
	}	
}


function changeImage(ruta,idImagenGrande,thiss,cantidad)
{
	cantidadFotos = cantidad;
	imagenSeleccionada = thiss.id;
    for(var x=1;x<= cantidadFotos;x++)
    {
    	unSetBorder(''+x);
    }

    setBorder(imagenSeleccionada);
    
    $(idImagenGrande).src = ruta;
    if(imagenSeleccionada == 1)
	{
    	$('arrowl').className = "hide";
	}
	else
	{
		$('arrowl').className = "left";
	}
	if(imagenSeleccionada < cantidadFotos)
	{
		$('arrowr').className = "right";		
	}
	else
	{
		$('arrowr').className = "hide";	
	}
}


function changeBigImage(ruta,idImagenGrande,thiss,cantidad)
{
		cantidadFotos = cantidad;
  		imagenGrandeSeleccionada = thiss.id;
	    for(var x=1;x<= cantidadFotos;x++)
	    {
	    	unSetBorder('bigFoto'+x);
	    }
	    
	    setBorder(imagenGrandeSeleccionada);
	    
	    document.getElementById(idImagenGrande).src = ruta;
	    
	    //$('numeroImagenGrandeSeleccionada').innerHTML  = imagenGrandeSeleccionada.replace('bigFoto','');
	    replaceHtml('numeroImagenGrandeSeleccionada', imagenGrandeSeleccionada.replace('bigFoto',''));
	    if(imagenGrandeSeleccionada.replace('bigFoto','') == 1)
		{
			document.getElementById('bigArrowLeft').className = "hide";
		}
		else
		{
			document.getElementById('bigArrowLeft').className = "arrowl";
		}
		if(imagenGrandeSeleccionada.replace('bigFoto','') < cantidadFotos)
		{
			document.getElementById('bigArrowRight').className = "arrowr";		
		}
		else
		{
			document.getElementById('bigArrowRight').className = "hide";	
		}
}


function viewer(arrow,cantidad)
{
    cantidadFotos = cantidad;
	var mostrar = 0;
	var muestras = 5;
	
	if (arrow.className == "right")
	{		
		unSetBorder(''+imagenSeleccionada);
	
		imagenSeleccionada ++;

		setBorder(''+imagenSeleccionada);
	
		$('fotoMediana').src = $('urlImagen').value.replace('numberImagenDefault',imagenSeleccionada);	
		aBig = $('urlImagenGrande').value.replace('numberImagenDefault',imagenSeleccionada);	
		
		if(imagenSeleccionada > 1)
		{
			$('arrowl').className = "left";
		}
		else
		{
			$('arrowl').className = "hide";	
		}
		
		if(imagenSeleccionada == (imagenOculta+muestras+1))
		{					
			imagenOculta ++;
			$('container'+imagenOculta).className = $('container'+imagenOculta).className + " hide";
			mostrar = muestras+imagenOculta;
			$('container'+mostrar).className = $('container'+mostrar).className.replace(/ hide/i, "" );
			$('arrowr').className = "right";
		}
		
		if(imagenSeleccionada < cantidadFotos)
		{
			$('arrowr').className = "right";		
		}
		else
		{
			$('arrowr').className = "hide";	
		}
	}
	else 
	{		
		unSetBorder(''+imagenSeleccionada);
		imagenSeleccionada --;
		setBorder(''+imagenSeleccionada);
		
		$('fotoMediana').src = $('urlImagen').value.replace('numberImagenDefault',imagenSeleccionada);	
		aBig = $('urlImagenGrande').value.replace('numberImagenDefault',imagenSeleccionada);
		
		if(imagenSeleccionada > 1)
		{
			$('arrowl').className = "left";
		}
		else
		{
			$('arrowl').className = "hide";	
		}
		
		$('arrowr').className = "right";
		if(imagenOculta == imagenSeleccionada)
		{			
			$('container'+imagenOculta).className = $('container'+imagenOculta).className.replace(/ hide/i, "");
			ocultar = muestras+imagenOculta;
			$('container'+ocultar).className = $('container'+ocultar).className + " hide";
			imagenOculta --;
			$('arrowl').className = "left";
		}
		if(imagenSeleccionada == 1)
		{
			$('arrowl').className = "hide";
		}
		else
		{
			$('arrowl').className = "left";
		}
	}
}

function viewerBig(thiss,cantidad)
{
    cantidadFotos = cantidad;
    
	if (thiss.id == "bigArrowRight")
	{		
		unSetBorderBig(imagenGrandeSeleccionada);
		
		var conts = imagenGrandeSeleccionada.replace('bigFoto','');
		conts ++; 
		imagenGrandeSeleccionada = null;
		imagenGrandeSeleccionada = "bigFoto"+conts;
	
		setBorderBig(imagenGrandeSeleccionada);

		replaceHtml('numeroImagenGrandeSeleccionada', conts);
		
		$('fotoGrande').src = $('urlImagenGrande').value.replace('numberImagenDefault',imagenGrandeSeleccionada.replace('bigFoto',''));	
		
		if(imagenGrandeSeleccionada.replace('bigFoto','') > 1)
		{
			$('bigArrowLeft').className = "arrowl";
		}
		else
		{
			$('bigArrowLeft').className = "hide";	
		}
		
		if(imagenGrandeSeleccionada.replace('bigFoto','') < cantidadFotos)
		{
			$('bigArrowRight').className = "arrowr";		
		}
		else
		{
			$('bigArrowRight').className = "hide";	
		}
	}
	else 
	{	
		unSetBorderBig(imagenGrandeSeleccionada);
		
		var contr = imagenGrandeSeleccionada.replace('bigFoto','');
		contr--; 
		imagenGrandeSeleccionada = null;
		imagenGrandeSeleccionada = "bigFoto"+contr;
		
		setBorderBig(imagenGrandeSeleccionada);
		
		replaceHtml('numeroImagenGrandeSeleccionada', contr);
		$('fotoGrande').src = $('urlImagenGrande').value.replace('numberImagenDefault',imagenGrandeSeleccionada.replace('bigFoto',''));	
		
		if(imagenGrandeSeleccionada.replace('bigFoto','') > 1)
		{
			$('bigArrowLeft').className = "arrowl";
		}
		else
		{
			$('bigArrowLeft').className = "hide";	
		}

		if(imagenGrandeSeleccionada.replace('bigFoto','') < cantidadFotos)
		{
			$('bigArrowRight').className = "arrowr";		
		}
		else
		{
			$('bigArrowRight').className = "hide";	
		}
	}
}

function removeStyle(target, className ) {
	return target.replace(	className, '');
}

function appendStyle(target, className) { 
	target = removeStyle(target, className);
	target += ' ' + className;
	target = removeStyle(target, '  ');
}


function setBorder(name)
{
	$(name).className= $(name).className + ' select';
}

function unSetBorder(name)
{
	$(name).className = $(name).className.replace(/ select/i, "");
}

function setBorderBig(name)
{
	$(name).className= $(name).className + ' selected';
}

function unSetBorderBig(name)
{
	document.getElementById(name).className = "";
	//$(name).className = $(name).className.replace(/ selected/i, "");
}

function replaceHtml(el, html) {
	var oldEl = typeof el === "string" ? document.getElementById(el) : el;
	/*@cc_on // Pure innerHTML is slightly faster in IE
		oldEl.innerHTML = html;
		return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	/* Since we just removed the old element from the DOM, return a reference
	to the new element, which can be used to restore variable references. */
	return newEl;
};


function openBigPhoto()
{
	$('fotoBig').className = "popup fotobig";
	centerDiv($('fotoBig'));
	setBorderBig('bigFoto'+imagenSeleccionada);
	imagenGrandeSeleccionada = 'bigFoto'+imagenSeleccionada;
	replaceHtml('numeroImagenGrandeSeleccionada', imagenSeleccionada);

	if(cantidadFotos == 1)
	{
		$('bigArrowRight').className = "hide";
		$('bigArrowLeft').className = "hide";	
	}
	if((cantidadFotos > 1)&&(cantidadFotos != imagenSeleccionada)&&(imagenSeleccionada != 1))
	{	
		$('bigArrowRight').className = "arrowr";
		$('bigArrowLeft').className = "arrowl";	
	}
	
	if((imagenSeleccionada == cantidadFotos)&&(cantidadFotos > 1))
	{
		$('bigArrowRight').className = "hide";
		$('bigArrowLeft').className = "arrowl";
	}
	
	if((imagenSeleccionada == 1)&&(cantidadFotos > 1))
	{
		$('bigArrowRight').className = "arrowr";
		$('bigArrowLeft').className = "hide";
	}
}

function closeBigPhoto()
{
	unSetBorder(imagenGrandeSeleccionada);
	$('fotoBig').className = "popup fotobig hide";
	$('fotoBig').style.display = 'none';	
}

function openBigMap()
{
	document.getElementById('mapabig').className = "popup fotobig";
}

function closeBigMap()
{
	document.getElementById('mapabig').className = "popup fotobig hide";
}

function loadVisit(url, postId)
{

	loadInto(url + '?id=' + postId, 'visit');
}

function transparentDivMap() 
{
	var o =document.getElementById('transparent');
	o.style.height = parent.document.getElementsByTagName('body')[0].clientHeight.toString()+'px';
	
	if(o.className == "transparentDiv hide"){	
		o.className = "transparentDiv";
		o.style.display= "block";
	}else{	
		o.className = "transparentDiv hide";
		o.style.display= "none";
	}
}

function transparentDiv()
{
	//La implementacion de arriba es la correcta al llamar a las 2 funciones cometia error en las transiciones de ocultar mostrar el griseado
	//Esto que no es tan feliz queda asi hasta q se rediseñe el viewitem
	transparentDivMap(); 
}

function loadBig()
{
	document.getElementById("fotoGrande").src = aBig;	
}

function loadValues(value, comment, container, frameId, srcFail, srcSuccess, successText)
{
		var oParam = new Object();
		oParam.value = value;
		oParam.comment = comment;
		oParam.container = container;
		oParam.frameId = frameId;
		oParam.srcFail = srcFail;
		oParam.srcSuccess = srcSuccess;
		oParam.successText = successText;
		return oParam;
}

function loadSalesManValues(value, comment, container, frameId, src, frameAnalyticsId, srcAnalyticsFail, srcAnalyticsSuccess, successText)
{
		var oParam = new Object();
		oParam.value = value;
		oParam.comment = comment;
		oParam.container = container;
		oParam.frameId = frameId;
		oParam.src = src;
		oParam.frameAnalyticsId = frameAnalyticsId;
		oParam.srcAnalyticsFail = srcAnalyticsFail;
		oParam.srcAnalyticsSuccess = srcAnalyticsSuccess;
		oParam.successText = successText;		
		return oParam;
}

function charactersRemainAndTrackOnSubmit(sResult, oParam){
	charactersRemain(sResult, oParam);
	trackOnSubmit(sResult, oParam);
}

function charactersRemain(sResult, oParam)
{
	if ((document.getElementById(oParam.comment) != null)) {
		displaylimit(oParam.comment, oParam.value, oParam.container);
		countlimit(oParam.value, oParam.container, oParam.comment);
	}
}

function trackOnSubmit(sResult, oParam)
{
	if(sResult != null && (sResult.indexOf(oParam.successText) > 0))
	{
		createFrame(oParam.iFrameID, oParam.srcSuccess);
	}
	else
	{
		createFrame(oParam.iFrameID, oParam.srcFail);
	}
}


function cerrarMapa(a, b) {
	$('mapabig').className = 'popup mapapop';
	$('mapabig').style.display = 'none';
	transparentDivMap();
}



function registraScroll(idAbajo, idArriba, div, velAbajo, velArriba)
{
	if(scrollList[idAbajo]==null) scrollList[idAbajo]=new Array();
	if(scrollList[idArriba]==null) scrollList[idArriba]=new Array();
	scrollList[idAbajo].push(new Array(div, velAbajo));
	scrollList[idArriba].push(new Array(div, velArriba));
}


function getEl(elementId)
{
	return document.getElementById(elementId);
}
function inicializarScroll()
{
	for(key in scrollList)
	{
		var element=getEl(key);
		if(element != null)
		{
			element.onmouseover=startScroll;
			element.onmouseout=stopScroll;
		}
	}
}
function startScroll()
{
	scrollDivs=new Array();
	velDivs=new Array();
	for(key in scrollList[this.id])
	{
		scrollDivs.push(getEl(scrollList[this.id][key][0]));
		velDivs.push(scrollList[this.id][key][1]);
	}
	identificador=setInterval('scrollNow()', 50);
}
function stopScroll()
{
	clearInterval(identificador);
}
function scrollNow()
{
	for(key in scrollDivs)
	{
	var desplazamientoActual=scrollDivs[key].scrollTop;
	var nuevoDesplazamiento=desplazamientoActual+velDivs[key];
	scrollDivs[key].scrollTop=nuevoDesplazamiento;
	}
}

function validateContactToSalesMan(formId) {
	var param = {};
	var event = new function(){};
	var form = document.getElementById(formId);
	//console.log("bsilvestre: formId %s", form.value);
	//console.log("Start sResult: %s, param: %s", sResult, param);
	this.setFormId(formId);
	submitAndExecuteVI(form, event, validateContactToSalesManCallback, param );//De donde sale el param sResult?
	//submitAndExecuteVI(form, event, function(){ validateContactToSalesManCallback(formId, sResult, param); }, param );//De donde sale el param sResult?
	//console.log("End sResult: %s, param: %s", sResult, param);
}

function disableInput(form, name, ignore) { 
	form.elements[name].disabled=true;
	if (!ignore) 
		form.elements[name].value='';
}

/* Método para poder automatizar el contactar horizontal   */
function validateContactToSalesManHorizontal(formId) {
	var param = {};
	var event = new function(){};
	var form = document.getElementById(formId);
	//console.log("bsilvestre: formId %s", form.value);
	//console.log("Start sResult: %s, param: %s", sResult, param);
	this.setFormId(formId);
	submitAndExecuteVI(form, event, validateContactToSalesManHorizontalCallback, param );//De donde sale el param sResult?
	//submitAndExecuteVI(form, event, function(){ validateContactToSalesManCallback(formId, sResult, param); }, param );//De donde sale el param sResult?
	//console.log("End sResult: %s, param: %s", sResult, param);
}

function validateContactToSalesManHorizontalCallback(formId, sResult, oParam) {
	var response = new Object(); //eval("(" + sResult + ")");//FIXME bsilvestre: Don't use eval 
	
	if ((response != null) && (response["state"] == false)) {
		var form = document.getElementById(this.getFormId());
		disableInput(form, "nameHor");
		disableInput(form,"emailHor");
		disableInput(form,"prePhoneHor");
		disableInput(form,"phoneHor");
		disableInput(form,"commentHor");
		disableInput(form,"humanCheckerSecurityCodeHor");
		disableInput(form,"sendMailHor", true);
		disableInput(form,"submitButton", true);
		// nos faltaria ver errores de validacion
	}		
}

/*  Fin prueba de view item */

function validateContactToSalesManCallback(formId, sResult, oParam) {
	var response = new Object(); //eval("(" + sResult + ")");//FIXME bsilvestre: Don't use eval 
	
	if ((response != null) && (response["state"] == false)) {
		var form = document.getElementById(this.getFormId());
		disableInput(form, "name");
		disableInput(form,"email");
		disableInput(form,"prePhone");
		disableInput(form,"phone");
		disableInput(form,"comment");
		disableInput(form,"humanCheckerSecurityCode");
		disableInput(form,"sendMail", true);
		disableInput(form,"submitButton", true);
		// nos faltaria ver errores de validacion
	}		
}

// Esto es solo hasta que le encuentre explicación a la línea 630
function setFormId(formId) {this.formId = formId;}
function getFormId() {return this.formId;}

function openShareLink(opt, mainDomain){
	  var id = $j("#shareAdv").val();
	  var url = encodeURIComponent($j(document).attr("location").href);
	  var title = encodeURIComponent($j("#"+id+" .subtitulo").html());
	  var subtitle = $j("#"+id+" p.subtitulo").text().trim();
	  if (subtitle.length >60){
	    subtitle = encodeURIComponent(subtitle.substring(0,60)); 
	  }else{
	  	subtitle = encodeURIComponent(subtitle);
	  }
	  switch(opt){
	    case 0:
	      //document.location ='mailto:?subject=Burro';
	      $j("#overlayTitle").empty().html("Recomendar Aviso");
	      $j("#shareOverlay div.content div.middle").empty().html('<center><img src="<@myMacros.urlStaticDomain ""/>/static/images/loading.gif" /></center>');
	      $j("#shareOverlay div.content div.middle").html('<iframe src=""></iframe>');
	      $j("#shareOverlay div.content div.middle iframe").attr("src","/recommend.htm?id="+id);
	      break;
	    case 1:
	      window.open('http://www.facebook.com/share.php?u='+ url, '_blank');
	      break;
	    case 2:
	      window.open('http://www.blogger.com/blog_this.pyra?t&u='+url+'&n='+title+'&pli=1', '_blank');
	      break;
	    case 3:       
	      window.open('http://twitter.com/home?status=Aviso en '+mainDomain+' '+url, '_blank');      
	      break;
	    case 4:      
	      window.open('http://www.myspace.com/Modules/PostTo/Pages/?u='+url+'&t='+title, '_blank');
	      break;
	    case 5:      
	      window.open('http://www.linkedin.com/shareArticle?mini=true&url='+url+'&title='+title+'&ro=false&summary='+subtitle+'&source='+mainDomain, '_blank');
	      break;
	  }
}
