var cat=0;
var menu_desplegar_enabled=true;
function menu_desplegar(param){
	if(cat!=param&&menu_desplegar_enabled){
		menu_desplegar_enabled=false;
		$j('#menu_desplegable_sub_'+cat).slideUp();
		$j('#menu_desplegable_sub_'+param).slideDown(
												   function(){
													   menu_desplegar_enabled=true;
												   }
												   );
		
		cat=param;
	}else{
		$j('#menu_desplegable_sub_'+param).slideUp(
												   function(){
													   menu_desplegar_enabled=true;
												   }
												   );
		
		cat=0;
	}
}

var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?true:false;

function showautohide(element,exclude){
	if(typeof lastElementOpened!='undefined'&&lastElementOpened!=''){
		$j('#'+lastElementOpened).fadeOut();
		lastElementOpened='';
	}
	
	$j('#'+element).fadeIn(
		function(){
			lastElementOpened=element;
			
			elementDom=document.getElementById(element);
			
			elementWidth=parseInt(elementDom.offsetWidth);
			elementHeight=parseInt(elementDom.offsetHeight);
			
			/* Posición absoluta de la capa en la ventana */
			/* Iniciar con posición del estilo*/
			elementX=(isNaN(parseInt(elementDom.style.left))?0:parseInt(elementDom.style.left));
			elementY=(isNaN(parseInt(elementDom.style.top))?0:parseInt(elementDom.style.top));
			
			/* Sumar el desplazamiento de la capa y las capas que lo contienen */
			while(elementDom.offsetParent!=null){
				elementX+=elementDom.offsetLeft;
				elementY+=elementDom.offsetTop;
				elementDom=elementDom.offsetParent;
			}
			
			exclude_area=new Array();
			
			if(exclude!=undefined){
				exclude_area=exclude.split(',');
				for(i=0;i<exclude_area.length;i++){
					exclude_area[i]=parseInt(exclude_area[i]);
				}
			}
			
			
			document.onmousemove=function(e){
				/* Posición del cursor y Restar Scroll a la posición de la capa */
				if(!isIE){
					cursorX=e.pageX;
					cursorY=e.pageY;
					elementX-=document.body.scrollLeft;
					scrollY-=document.body.scrollTop;
				}else{
					cursorX=event.clientX;
					cursorY=event.clientY;
					elementX-=document.documentElement.scrollLeft;
					elementY-=document.documentElement.scrollTop;
				}
				
				if(
					cursorX<(elementX)||
					cursorX>(elementX+elementWidth)||
					cursorY<(elementY)||
					cursorY>(elementY+elementHeight)||
					
					(exclude_area.length&&
					cursorX>(elementX+exclude_area[0])&&
					cursorX<(elementX+exclude_area[2])&&
					cursorY>(elementY+exclude_area[1])&&
					cursorY<(elementY+exclude_area[3]))
					){
						$j('#'+element).fadeOut();
						document.onmousemove=function(){};
						lastElementOpened='';
				}
			}
		}
	);
}

function cargabits(url,id){

jQuery("#"+ id).slideUp("fast");

	var objeto;
	if (window.XMLHttpRequest)	{
		objeto = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try {
			objeto = new ActiveXObject("Msxml2.XMLHTTP"); 
		} catch (e) 
		{
			try 
			{
				objeto = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	
	if (!objeto){
	alert("No ha sido posible crear un objeto de XMLHttpRequest");
	}

	objeto.onreadystatechange=function()
	{
	cargarobjeto(objeto,id)
	}
	objeto.open('GET', url, true)
	objeto.send(null)
}

function OpenCentered (psUrl, psName, piWidth, piHeight, psFlags)
{
	var iX=(screen.width-piWidth-20)/2;
	var iY=(screen.height-piHeight-30)/2;
			
	open(psUrl, psName, 'width=' + piWidth + ',height=' + piHeight + ',scrollbars=1,left=' + iX + ',top=' + iY +  ',screenX=' + iX + ',screenY=' + iY + psFlags);
}



function cargarobjeto(objeto, id)
{
	if (objeto.readyState == 4){
		document.getElementById(id).innerHTML=objeto.responseText;
		jQuery("#"+ id).slideDown("fast");
	}
}



function ValidateTextReq (ptxtText, psName, piLongMin, piLongMax)
{
	if (ptxtText.value.length<=0)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		ptxtText.focus();
		return(false);
	}
	else if ((ptxtText.value.length<piLongMin) || (ptxtText.value.length>piLongMax))
	{
		alert('El formato para el campo  \'' + psName + '\' debe ser una cadena de ' + piLongMin + ' a ' + piLongMax + ' caracteres.');
		ptxtText.focus();
		return(false);
	}
	else
	{
		return(true);
	}	
}


function ValidateNumberReq (ptxtText, psName, piMin, piMax)
{
	if (ptxtText.value.length<=0)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		ptxtText.focus();
		return(false);
	}
	else if ((isNaN(ptxtText.value)) || (ptxtText.value<piMin) || (ptxtText.value>piMax))
	{
		alert('El formato para el campo  \'' + psName + '\' debe ser un número entre ' + piMin + ' y ' + piMax + '.');
		ptxtText.focus();
		return(false);
	}
	else
	{
		return(true);
	}
}


function ValidateEmailReq (ptxtText, psName, piLongMax)
{
	if (ptxtText.value.length<=0)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		ptxtText.focus();
		return(false);
	}
	else if ((ptxtText.value.length<6) || (ptxtText.value.indexOf('@', 0)<0) || (ptxtText.value.indexOf('.', 0)<0))
	{
		alert('El formato para el campo  \'' + psName + '\' debe ser un email valido.');
		ptxtText.focus();
		return(false);	
	}
	else
	{
		return(true);
	}
}


function ValidateDateReq (ptxtText, psName)
{
	if (ptxtText.value.length!=10)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		ptxtText.focus();
		return(false);
	}
	else
	{	
		var dteDate=new Date(ptxtText.value.substr(0, 4), (ptxtText.value.substr(5, 2)-1), ptxtText.value.substr(8, 2));
		if ((dteDate.getDate()==ptxtText.value.substr(8, 2)) && 
			(dteDate.getMonth()==(ptxtText.value.substr(5, 2))-1) && 
			(dteDate.getFullYear()==ptxtText.value.substr(0, 4)))
		{
			return(true);
		}
		else
		{
			alert('El formato para el campo  \'' + psName + '\' debe ser una fecha válida.');
			ptxtText.focus();	
			return(false);
		}
	}
}


function ValidateComboReq (pcboCombo, psName)
{
	if (pcboCombo.selectedIndex<=0)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		pcboCombo.focus();
		return(false);
	}
	else if (pcboCombo.options[pcboCombo.selectedIndex].value.length<1)
	{
		alert('El campo \'' + psName + '\' es obligatorio.');
		pcboCombo.focus();
		return(false);	
	}
	else
	{
		return(true);
	}
}


function ValidateText (ptxtText, psName, piLongMin, piLongMax)
{
	if (ptxtText.value.length>0)
	{
		return(ValidateTextReq(ptxtText, psName, piLongMin, piLongMax));	
	}
	else
	{
		return(true);
	}
}

function ValidateExtension(ptxtText)
{
	if (ptxtText.value.length>0)
	{	
		if(ptxtText.value.lastIndexOf(".pdf")==-1) 
		{
		   alert("Solamente puede cargar ficheros de tipo PDF");
		   return(false);
		}	
		else
		{
			return(true);
		}
	}
	else
	{
		return(true);
	}
}

function ValidateNumber (ptxtText, psName, piMin, piMax)
{
	if (ptxtText.value.length>0)
	{
		return(ValidateNumberReq(ptxtText, psName, piMin, piMax));	
	}
	else
	{
		return(true);
	}
}


function ValidateEmail (ptxtText, psName, piLongMax)
{
	if (ptxtText.value.length>0)
	{
		return(ValidateEmailReq(ptxtText, psName, piLongMax));	
	}
	else
	{
		return(true);
	}
}



function ValidateDate (ptxtText, psName)
{
	if (ptxtText.value.length>0)
	{
		return(ValidateDateReq(ptxtText, psName));
	}
	else
	{
		return(true);
	}
}



function ValidateURL(argvalue) {

  if (argvalue.indexOf(" ") != -1)
  
    return false;
  else if (argvalue.indexOf("http://") == -1)
  	
    return false;
  else if (argvalue == "http://")

    return false;
  else if (argvalue.indexOf("http://") > 0)

    return false;

  argvalue = argvalue.substring(7, argvalue.length);
  if (argvalue.indexOf(".") == -1)

    return false;
  else if (argvalue.indexOf(".") == 0)

    return false;
  else if (argvalue.charAt(argvalue.length - 1) == ".")

    return false;

  if (argvalue.indexOf("/") != -1) {
    argvalue = argvalue.substring(0, argvalue.indexOf("/"));
    if (argvalue.charAt(argvalue.length - 1) == ".")

      return false;
  }

  if (argvalue.indexOf(":") != -1) {
    if (argvalue.indexOf(":") == (argvalue.length - 1))

      return false;
    else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")

      return false;
    argvalue = argvalue.substring(0, argvalue.indexOf(":"));
    if (argvalue.charAt(argvalue.length - 1) == ".")

      return false;
  }

  return true;

}

function Validar1(pfrmFormulario)
		{
		
			if (!ValidateTextReq(pfrmFormulario.empresa, 'Empresa', 3, 50))
			{
				return false;
			}
			else if (!ValidateTextReq(pfrmFormulario.nombre, 'Persona de contacto', 3, 50))
			{
				return false;
			}
			else if (!ValidateEmailReq(pfrmFormulario.email, 'Email', 50))
			{
				return false;
			}
			else if (!ValidateNumberReq(pfrmFormulario.telefono, 'Telefono', 100000000, 999999999))
			{
				return false;
			}			

			else
			{
				return true;
			}
		}
		
		
function Validar2(pfrmFormulario)
		{
			if (!ValidateTextReq(pfrmFormulario.nombre, 'Tu nombre', 3, 50))
			{
				return false;
			}
			else if (!ValidateEmailReq(pfrmFormulario.email, 'Email de tu amigo', 50))
			{
				return false;
			}
			else
			{
				return true;
			}
		}		
		
		
