var visibleDivId='';

function funcIds(from,to,divid,func) {
	if (to < from) return;
	for (var i=from; i<=to; i++){
		func (divid+i);
	}
}
function setClass(divid,classN){
	var div=document.getElementById(divid);
        if (div) div.className=classN;

}
function disable(divid){
	var div=document.getElementById(divid);
        if (div) div.disabled=true;

}
function hideDiv(el){
	el.style.display='none';
}

function showDiv(divid,other){	
	try{
		if (other) funcElements(other,hideDiv);
		var div=document.getElementById(divid);
		if (div) div.style.display='block';
	}catch(e){
		
	}
}

function boldDiv(div,other){
	if (other) funcElements(other,noboldDiv);
	if (div) div.className=div.className + ' bold';
}

function noboldDiv(div){
	div.className=div.className.replace(' bold','');
}
/*
function emptyInput(element){
	alert("L 38");
	element.value='';
	makenonAvailable(element.parentNode);
}

function makeAvailable(el) {
	el.className=el.className.replace('nonAvailable','available');

}
function makenonAvailable(el){
	el.className=el.className.replace('available','nonAvailable');
}*/

function checkAvail(el){
	if (el.value!=0 && el.value!='') makeAvailable(el.parentNode); 
	else makenonAvailable(el.parentNode);
}

function delBorder(el){
        el.className=el.className.replace('borderSelected','');

}
function funcElements(classname,func){
        var elements=getElementsByClassName(document, '*', classname)
        for(var i=0; i<elements.length; i++){
                func(elements[i])
        }
}
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=arrElements.length -1; i>0; i--){
        oElement = arrElements[i];
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}



function carga(a){
	document.getElementById('container').src=a+'/';
	visor(a+'/.comments','comm');
}
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


function cargarDatos(pagina, dir, target)	
{	var page = false;
	var target;
	var url;
	url=dir + "/" + pagina;
    if (window.XMLHttpRequest)
    {
        // Si es Mozilla, Safari etc
        page = new XMLHttpRequest ();
    } else if (window.ActiveXObject)
    {
        // pero si es IE
        try 
        {
            page = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            // en caso que sea una versi&oacute;n antigua
            try
            {
                page = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    } 
    else
	{	return false;}
	
    page.onreadystatechange = function ()
    {
        // funci&oacute;n de respuesta
		if (page.readyState != 4) {
			document.getElementById (target).innerHTML= '<div id="loader"><img src="./img/ajax-loaderC.gif" > Cargando datos...</div>';
		}else{
			//window.setTimeout("cargarpagina(page);",2000); //pretendemos demorar la respuesta unos segundos
			cargarpagina(page, target);
		} 		
    }
	
    page.open ('GET', url, true); // asignamos los m&eacute;todos open y send
    page.send (null);	
 
}
 
function cargarpagina(page, target)
{
    if (page.readyState == 4 && (page.status == 200 || window.location.href.indexOf ("http") == - 1))
		var capa_contenedor = document.getElementById (target);
		capa_contenedor.innerHTML = page.responseText;
		capa_contenedor.style.opacity = '1';
		capa_contenedor.style.filter = 'alpha(opacity=100)';
}
function ajaximport(capa,url){
        // alert(url);


        var ajax = crear_ajax();
        var capa_contenedor = document.getElementById(capa);
	var capa_loading=document.getElementById('loadingImage');

        // se crea y ejecuta la instancia si el metodo es POST

        ajax.open('POST',url,true);

        ajax.onreadystatechange = function(){

                        if(ajax.readyState==1){
				if (capa_loading) capa_loading.style.display='block';
				capa_contenedor.style.opacity = '0.3';
				capa_contenedor.style.filter = 'alpha(opacity=30)';
//                                capa_contenedor.style.innerHTML="Cargando...";
                        }else if(ajax.readyState==4){
                                if(ajax.status==200){
                                        capa_contenedor.innerHTML = ajax.responseText;
					if (capa_loading) capa_loading.style.display='none';
					capa_contenedor.style.opacity = '1';
	                                capa_contenedor.style.filter = 'alpha(opacity=30)';

                                }else if(ajax.status==404){
                                        capa_contenedor.innerHTML = "El URL relacionado no existe.";                         
                                }else{
                                        capa_contenedor.innerHTML = "Error: ".ajax.status;
                                }
                        }
                }

                ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                ajax.send("contenedor="+capa);
                return;

}

function crear_ajax(){

        var objeto_ajax=false;
        try{
                // para navegadores distintos de IE
                objeto_ajax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
                try{
                // para explorer
                objeto_ajax = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(E){
                        objeto_ajax = false;
                }
        }

        if(!objeto_ajax && typeof XMLHttpRequest!='undefined'){
                objeto_ajax = new XMLHttpRequest();
        }
        return objeto_ajax;
}


function getElementWeek(element){
	if (element.className.indexOf("inputOfWeek0") != -1){element.week=0;}
	if (element.className.indexOf("inputOfWeek1") != -1){element.week=1;}
	if (element.className.indexOf("inputOfWeek2") != -1){element.week=2;}
	if (element.className.indexOf("inputOfWeek3") != -1){element.week=3;}
	if (element.className.indexOf("inputOfWeek4") != -1){element.week=4;}
	if (element.className.indexOf("inputOfWeek5") != -1){element.week=5;}
}

function emptyInput(element){
	getElementWeek(element);
	
	element.style.display = "inline";
	element.value='';
	makenonAvailable(element.parentNode);
	
	try{
		showDiv('editweek'+element.week, 'week'+element.week)
	} catch(e){
		
	}
	
	//alert(element.belongsTo);
	if (element.belongsTo){
		obj = document.getElementById(element.belongsTo);
		obj.value = "";
		var aParts = obj.id.split("_");
		checkAvail(obj);
		handleBookingKeyUp(obj,"",aParts[1],"");
		var week = obj.week;
		showDiv('editweek'+week, 'week'+week)
	}
	
}

function makeAvailable(el) {
	el.className=el.className.replace('nonAvailable','available');

}
function makenonAvailable(el){
	el.className=el.className.replace('available','nonAvailable');
}

function checkAvail(el){
	if (el.value!=0 && el.value!='') makeAvailable(el.parentNode); 
	else makenonAvailable(el.parentNode);
}

function validateAvailability(el){
	var n = el.value;
	
	if (el.value.indexOf(",") != -1){
		el.value = el.value.replace(",",".");
		n = el.value;
	}
	
	if (isNaN(n) || !n || n==" "){
		el.value = 0;
		checkAvail(el);
		return;
	}
	
	if (n < 0){
		el.value = 0;
		checkAvail(el);
		return;
	}
	
	if (n > 9999.9){
		el.value = 9999.9;
		checkAvail(el);
		return;
	}
	
	
	
	if (el.value.indexOf(".") != -1){
		n = new Number(el.value);
		n = n.toFixed(1);
		el.value = n;
	}
	
}

function putdefaultprice(obj){
	if (obj.value && obj.value != "0") return;
	if (!tourDefaultPrice) return;
	
	obj.value = tourDefaultPrice;
	makeAvailable(obj.parentNode);
	obj.onkeyup();
}

/*When the user finished editing the cell, */
function handleBookingKeyUp(el,fday,day,durationMulti){
		/*alert("handle keyup");*/
		/* PUT FIELDS TO GREEN IF INPUT IS > 0 */
		if (!isNaN(el.value) && el.value != 0){
			
			el.isPartOfATour = true;
			el.belongsTo = el.id;
			el.isStarting = true;
			
			if (!document.getElementById("toMark_"+day)) return;
			
			var daysToMark = document.getElementById("toMark_"+day).value;
			aToMark = daysToMark.split(",");
			for(i=1;i<aToMark.length;i++){
				
				
				document.getElementById("price_"+aToMark[i]).style.display = "none";
				document.getElementById("price_"+aToMark[i]).isPartOfATour = true;
				document.getElementById("price_"+aToMark[i]).belongsTo = el.id;
				
				makeAvailable(document.getElementById("price_"+aToMark[i]).parentNode);
				makeAvailable(document.getElementById("dv_"+aToMark[i]));
			}
			
			var daysToDisable = document.getElementById("toDisable_"+day).value;
			aToDisable = daysToDisable.split(",");
			for(i=1;i<aToDisable.length;i++){
				document.getElementById("price_"+aToDisable[i]).style.display = "none";
				document.getElementById("price_"+aToDisable[i]).isPartOfATour = false;
				document.getElementById("price_"+aToDisable[i]).belongsTo = ""
			}
			
			
		}else{
			
		/* PUT FIELDS TO ORANGE IF 0 HAS BEEN ENTERED */
			if ($("toMark_"+day))
				var daysToMark = document.getElementById("toMark_"+day).value;
			else
				var daysToMark = "";
			
			
			aToMark = daysToMark.split(",");
			
			for(i=1;i<aToMark.length;i++){
				document.getElementById("price_" + aToMark[i]).style.display = "inline";
				makenonAvailable(document.getElementById("price_" + aToMark[i]).parentNode);
				makenonAvailable(document.getElementById("dv_" + aToMark[i]));
				document.getElementById("price_"+aToMark[i]).isPartOfATour = false;
				document.getElementById("price_"+aToMark[i]).belongsTo = "";
			}
			
			if ($("toDisable_"+day))
				var daysToDisable = document.getElementById("toDisable_"+day).value;
			else
				var daysToDisable = "";
			
			aToDisable = daysToDisable.split(",");
			for(i=1;i<aToDisable.length;i++){
				
				if (!document.getElementById("price_"+aToDisable[i])) continue;
				
				if (document.getElementById("price_"+aToDisable[i]).parentNode.className.indexOf("nonAvailable") != -1 ){
					document.getElementById("price_"+aToDisable[i]).style.display = "inline";
					document.getElementById("price_"+aToDisable[i]).isPartOfATour = false;
					document.getElementById("price_"+aToDisable[i]).belongsTo = "";
				}
				
			}
			
		}
		
}

function delBorder(el){
        el.className=el.className.replace('borderSelected','');

}
function funcElements(classname,func){
        var elements=getElementsByClassName(document, '*', classname)
        for(var i=0; i<elements.length; i++){
                func(elements[i])
        }
}
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=arrElements.length -1; i>0; i--){
        oElement = arrElements[i];
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}



function carga(a){
	document.getElementById('container').src=a+'/';
	visor(a+'/.comments','comm');
}
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


function cargarDatos(pagina, dir, target)	
{	var page = false;
	var target;
	var url;
	url=dir + "/" + pagina;
    if (window.XMLHttpRequest)
    {
        // Si es Mozilla, Safari etc
        page = new XMLHttpRequest ();
    } else if (window.ActiveXObject)
    {
        // pero si es IE
        try 
        {
            page = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            // en caso que sea una versi&oacute;n antigua
            try
            {
                page = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    } 
    else
	{	return false;}
	
    page.onreadystatechange = function ()
    {
        // funci&oacute;n de respuesta
		if (page.readyState != 4) {
			document.getElementById (target).innerHTML= '<div id="loader"><img src="./img/ajax-loaderC.gif" > Cargando datos...</div>';
		}else{
			//window.setTimeout("cargarpagina(page);",2000); //pretendemos demorar la respuesta unos segundos
			cargarpagina(page, target);
		} 		
    }
	
    page.open ('GET', url, true); // asignamos los m&eacute;todos open y send
    page.send (null);	
 
}
 
function cargarpagina(page, target)
{
    if (page.readyState == 4 && (page.status == 200 || window.location.href.indexOf ("http") == - 1))
		var capa_contenedor = document.getElementById (target);
		capa_contenedor.innerHTML = page.responseText;
		capa_contenedor.style.opacity = '1';
		capa_contenedor.style.filter = 'alpha(opacity=100)';
}

var ext_capa;

function ajaximport(capa,url){

        // alert(url);

		ext_capa = capa;
        var ajax = crear_ajax();
        var capa_contenedor = document.getElementById(capa);
	var capa_loading=document.getElementById('loadingImage');

        // se crea y ejecuta la instancia si el metodo es POST

        ajax.open('POST',url,true);

        ajax.onreadystatechange = function(){

	        if(ajax.readyState==1){
			if (capa_loading) capa_loading.style.display='block';
			capa_contenedor.style.opacity = '0.3';
			capa_contenedor.style.filter = 'alpha(opacity=30)';
	//                                capa_contenedor.style.innerHTML="Cargando...";
	        }else if(ajax.readyState==4){
	                if(ajax.status==200){
	                        capa_contenedor.innerHTML = ajax.responseText;
					
	                        
	                if (capa_loading) capa_loading.style.display='none';
						
					
					capa_contenedor.style.opacity = '1';
	                capa_contenedor.style.filter = 'alpha(opacity=30)';
	
	                remove_loading();
	                
	                }else if(ajax.status==404){
	                        capa_contenedor.innerHTML = "El URL relacionado no existe.";                         
	                }else{
	                        capa_contenedor.innerHTML = "Error: ".ajax.status;
	                }
	        }
	    }
	
	    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    ajax.send("contenedor="+capa);
	    return;

}

/*REMOVES THE LOADING LAYER*/
function remove_loading(){
	try {
		var capa = ext_capa;
		var capa_loading = document.getElementById('loadingImage');
		var capa_contenedor = document.getElementById(capa);
		capa_loading.style.display='none';
		capa_contenedor.style.opacity = '1';
		capa_contenedor.style.filter = 'alpha(opacity=100)';
	} catch (e){
		
	}
}

function crear_ajax(){

        var objeto_ajax=false;
        try{
                // para navegadores distintos de IE
                objeto_ajax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
                try{
                // para explorer
                objeto_ajax = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(E){
                        objeto_ajax = false;
                }
        }

        if(!objeto_ajax && typeof XMLHttpRequest!='undefined'){
                objeto_ajax = new XMLHttpRequest();
        }
        return objeto_ajax;
}

