function Mostrar(elem)
{
        var obj=document.getElementById(elem);
        if (obj!=null)
                obj.style.display='';
}

function Ocultar(elem)
{
        var obj=document.getElementById(elem);
        if (obj!=null)
                obj.style.display='none';
}

function nuevoAjax()
{
	var xmlhttp=false; 
	try { 
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch (e) 
	{ 
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (E) { xmlhttp = false; } 
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
	{	
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}


var ajax;
function HTTPGetCallback(url,callback)
{
	ajax=nuevoAjax();
	ajax.open("GET",url,true);
	ajax.onreadystatechange=callback();
	ajax.send(null)
}


function HTTPGet(url,destino)
{
	var contenedor;
	contenedor = document.getElementById(destino);
	ajax=nuevoAjax();
	ajax.open("GET",url,true);
	ajax.onreadystatechange=function() {if (ajax.readyState==4) {contenedor.innerHTML = ajax.responseText;}}
}

function getData(url,destino){
        var xmlhttp=false;
                       
	//mostrarCargando();

    	var contenedor;
    	contenedor = document.getElementById(destino);
        if (contenedor==undefined){
                alert("No existe el elemento "+destino);
                return;
        }
        if (window.XMLHttpRequest){
                xmlhttp= new XMLHttpRequest();
        }
        else{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

    	xmlhttp.open("GET",url);
    	xmlhttp.onreadystatechange=function() 
	{
                if (xmlhttp.readyState==4) 
		{
                        //ocultarCargando();
                        contenedor.innerHTML =xmlhttp.responseText;
                }
        }
        xmlhttp.send(null);                 
}

function getInput(url,destino){
        var xmlhttp=false;
                       
	//mostrarCargando();

    	var contenedor;
    	contenedor = document.getElementById(destino);
        if (contenedor==undefined){
                alert("No existe el elemento "+destino);
                return;
        }
        if (window.XMLHttpRequest){
                xmlhttp= new XMLHttpRequest();
        }
        else{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

    	xmlhttp.open("GET",url);
    	xmlhttp.onreadystatechange=function() 
	{
                if (xmlhttp.readyState==4) 
		{
                        //ocultarCargando();
                        contenedor.value =xmlhttp.responseText;
                }
        }
        xmlhttp.send(null);                 
}

function setInput(contenido,destino) {
    	var contenedor;
    	contenedor = document.getElementById(destino);
        if (contenedor==undefined){
                alert("No existe el elemento "+destino);
                return;
        }
        contenedor.value =contenido;
}

function maxDays(mm, yyyy){
var mDay;
	if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
		mDay = 30;
  	}
  	else{
  		mDay = 31
  		if(mm == 1){
   			if (yyyy/4 - parseInt(yyyy/4) != 0){
   				mDay = 28
   			}
		   	else{
   				mDay = 29
  			}
		}
  }
return mDay;
}

function changeBg(id){
	if (eval(id).style.backgroundColor != "yellow"){
		eval(id).style.backgroundColor = "yellow"
	}
	else{
		eval(id).style.backgroundColor = "#ffffff"
	}
}

var elem;

function devolver(id){
	var arrX=new Array("01","02","03","04","05","06","07","08","09","10","11","12")

	var lbcampo=document.getElementById(elem);
	lbcampo.value=document.main.selYear.value+"-"+arrX[parseInt(document.main.selMonth.value)]+"-"+eval(id).innerHTML
}

function writeCalendar(destino)
{

// indicamos donde hay que meter el valor elegido de la fecha

elem=destino;

var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var arrM = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")
var arrY = new Array()
	for (ii=0;ii<=4;ii++){
		arrY[ii] = yyyy - 2 + ii
	}
var arrD = new Array("Dom","Lun","Mar","Mie","Jue","Vie","Sab")

var text = ""
text = "<form name=main>"
text += "<table border=1>"
text += "<tr><td>"
text += "<table width=100%><tr>"
text += "<td align=left>"
text += "<select name=selMonth onChange='changeCal()'>"
	for (ii=0;ii<=11;ii++){
		if (ii==mm){
			text += "<option value= " + ii + " Selected>" + arrM[ii] + "</option>"
		}
		else{
			text += "<option value= " + ii + ">" + arrM[ii] + "</option>"
		}
	}
text += "</select>"
text += "</td>"
text += "<td align=right>"
text += "<select name=selYear onChange='changeCal()'>"
	for (ii=0;ii<=4;ii++){
		if (ii==2){
			text += "<option value= " + arrY[ii] + " Selected>" + arrY[ii] + "</option>"
		}
		else{
			text += "<option value= " + arrY[ii] + ">" + arrY[ii] + "</option>"
		}
	}
text += "</select>"
text += "</td>"
text += "</tr></table>"
text += "</td></tr>"
text += "<tr><td>"
text += "<table border=1>"
text += "<tr>"
	for (ii=0;ii<=6;ii++){
		text += "<td align=center><span class=label>" + arrD[ii] + "</span></td>"
	}
text += "</tr>"
aa = 0
	for (kk=0;kk<=5;kk++){
		text += "<tr>"
		for (ii=0;ii<=6;ii++){
			text += "<td align=center><span id=sp" + aa + " onClick='devolver(this.id)'>1</span></td>"
			aa += 1
		}
		text += "</tr>"
	}
text += "</table>"
text += "</td></tr>"
text += "</table>"
document.write(text)
changeCal()
}

function changeCal(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var currM = parseInt(document.main.selMonth.value)
var prevM
	if (currM!=0){
		prevM = currM - 1
	}
	else{
		prevM = 11
	}
var currY = parseInt(document.main.selYear.value)
var mmyyyy = new Date()
mmyyyy.setFullYear(currY)
mmyyyy.setMonth(currM)
mmyyyy.setDate(1)
var day1 = mmyyyy.getDay()
	if (day1 == 0){
		day1 = 7
	}
var arrN = new Array(41)
var aa
	for (ii=0;ii<day1;ii++){
		arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
	}
	aa = 1
	for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){
		arrN[ii] = aa
		aa += 1
	}
	aa = 1
	for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
		arrN[ii] = aa
		aa += 1
	}
	for (ii=0;ii<=41;ii++){
		eval("sp"+ii).style.backgroundColor = "#FFFFFF"
	}
	var dCount = 0
	for (ii=0;ii<=41;ii++){
		if (arrN[ii]<10)
			eval("sp"+ii).innerHTML = "0"+arrN[ii]
		else
			eval("sp"+ii).innerHTML = arrN[ii]

		if (((ii<7)&&(arrN[ii]>20))||((ii>27)&&(arrN[ii]<20))){
			eval("sp"+ii).className = "c3"
		}
		else{

			if ((dCount==0)||(dCount==6)){
				eval("sp"+ii).className = "c2"
			}
			else{
				eval("sp"+ii).className = "c1"
			}
			if ((arrN[ii]==dd)&&(mm==currM)&&(yyyy==currY)){
				eval("sp"+ii).style.backgroundColor="#90EE90"
			}
		}
	dCount += 1
		if (dCount>6){
			dCount=0
		}
	}
}


function AdminAsOwner()
{ 
	if(document.datosdominios.admin_same_as_owner.checked)
	{ 
		document.datosdominios.admin_first_name.value = document.datosdominios.owner_first_name.value;
		document.datosdominios.admin_last_name.value = document.datosdominios.owner_last_name.value;
		document.datosdominios.admin_org_name.value = document.datosdominios.owner_org_name.value;
		document.datosdominios.admin_address1.value = document.datosdominios.owner_address1.value;
		document.datosdominios.admin_address2.value = document.datosdominios.owner_address2.value;
		document.datosdominios.admin_address3.value = document.datosdominios.owner_address3.value;
		document.datosdominios.admin_city.value = document.datosdominios.owner_city.value;
		document.datosdominios.admin_state.value = document.datosdominios.owner_state.value;
		document.datosdominios.admin_country.value = document.datosdominios.owner_country.value;
		document.datosdominios.admin_postal_code.value = document.datosdominios.owner_postal_code.value;
		document.datosdominios.admin_phone.value = document.datosdominios.owner_phone.value;
		document.datosdominios.admin_fax.value = document.datosdominios.owner_fax.value;
		document.datosdominios.admin_email.value = document.datosdominios.owner_email.value;
	}
	else
	{ 
      	document.datosdominios.admin_first_name.value = '';
            document.datosdominios.admin_last_name.value = '';
            document.datosdominios.admin_org_name.value = '';
            document.datosdominios.admin_address1.value = '';
            document.datosdominios.admin_address2.value = '';
            document.datosdominios.admin_address3.value = '';
            document.datosdominios.admin_city.value = '';
            document.datosdominios.admin_state.value = '';
            document.datosdominios.admin_country.value = '';
            document.datosdominios.admin_postal_code.value = '';
            document.datosdominios.admin_phone.value = '';
            document.datosdominios.admin_fax.value = '';
		document.datosdominios.admin_email.value = '';
	}
}


function BillingAsOwner()
{ 
	if(document.datosdominios.billing_same_as_owner.checked)
	{ 
		document.datosdominios.billing_first_name.value = document.datosdominios.owner_first_name.value;
		document.datosdominios.billing_last_name.value = document.datosdominios.owner_last_name.value;
		document.datosdominios.billing_org_name.value = document.datosdominios.owner_org_name.value;
		document.datosdominios.billing_address1.value = document.datosdominios.owner_address1.value;
		document.datosdominios.billing_address2.value = document.datosdominios.owner_address2.value;
		document.datosdominios.billing_address3.value = document.datosdominios.owner_address3.value;
		document.datosdominios.billing_city.value = document.datosdominios.owner_city.value;
		document.datosdominios.billing_state.value = document.datosdominios.owner_state.value;
		document.datosdominios.billing_country.value = document.datosdominios.owner_country.value;
		document.datosdominios.billing_postal_code.value = document.datosdominios.owner_postal_code.value;
		document.datosdominios.billing_phone.value = document.datosdominios.owner_phone.value;
		document.datosdominios.billing_fax.value = document.datosdominios.owner_fax.value;
		document.datosdominios.billing_email.value = document.datosdominios.owner_email.value;
	}
	else
	{ 
      	document.datosdominios.billing_first_name.value = '';
            document.datosdominios.billing_last_name.value = '';
            document.datosdominios.billing_org_name.value = '';
            document.datosdominios.billing_address1.value = '';
            document.datosdominios.billing_address2.value = '';
            document.datosdominios.billing_address3.value = '';
            document.datosdominios.billing_city.value = '';
            document.datosdominios.billing_state.value = '';
            document.datosdominios.billing_country.value = '';
            document.datosdominios.billing_postal_code.value = '';
            document.datosdominios.billing_phone.value = '';
            document.datosdominios.billing_fax.value = '';
		document.datosdominios.billing_email.value = '';
	}
}

function BillingAsAdmin()
{ 
	if(document.datosdominios.billing_same_as_admin.checked)
	{ 
		document.datosdominios.billing_first_name.value = document.datosdominios.admin_first_name.value;
		document.datosdominios.billing_last_name.value = document.datosdominios.admin_last_name.value;
		document.datosdominios.billing_org_name.value = document.datosdominios.admin_org_name.value;
		document.datosdominios.billing_address1.value = document.datosdominios.admin_address1.value;
		document.datosdominios.billing_address2.value = document.datosdominios.admin_address2.value;
		document.datosdominios.billing_address3.value = document.datosdominios.admin_address3.value;
		document.datosdominios.billing_city.value = document.datosdominios.admin_city.value;
		document.datosdominios.billing_state.value = document.datosdominios.admin_state.value;
		document.datosdominios.billing_country.value = document.datosdominios.admin_country.value;
		document.datosdominios.billing_postal_code.value = document.datosdominios.admin_postal_code.value;
		document.datosdominios.billing_phone.value = document.datosdominios.admin_phone.value;
		document.datosdominios.billing_fax.value = document.datosdominios.admin_fax.value;
		document.datosdominios.billing_email.value = document.datosdominios.admin_email.value;
	}
	else
	{ 
      	document.datosdominios.billing_first_name.value = '';
            document.datosdominios.billing_last_name.value = '';
            document.datosdominios.billing_org_name.value = '';
            document.datosdominios.billing_address1.value = '';
            document.datosdominios.billing_address2.value = '';
            document.datosdominios.billing_address3.value = '';
            document.datosdominios.billing_city.value = '';
            document.datosdominios.billing_state.value = '';
            document.datosdominios.billing_country.value = '';
            document.datosdominios.billing_postal_code.value = '';
            document.datosdominios.billing_phone.value = '';
            document.datosdominios.billing_fax.value = '';
		document.datosdominios.billing_email.value = '';
	}
}



function TechAsOwner()
{ 
	if(document.datosdominios.tech_same_as_owner.checked)
	{ 
		document.datosdominios.tech_first_name.value = document.datosdominios.owner_first_name.value;
		document.datosdominios.tech_last_name.value = document.datosdominios.owner_last_name.value;
		document.datosdominios.tech_org_name.value = document.datosdominios.owner_org_name.value;
		document.datosdominios.tech_address1.value = document.datosdominios.owner_address1.value;
		document.datosdominios.tech_address2.value = document.datosdominios.owner_address2.value;
		document.datosdominios.tech_address3.value = document.datosdominios.owner_address3.value;
		document.datosdominios.tech_city.value = document.datosdominios.owner_city.value;
		document.datosdominios.tech_state.value = document.datosdominios.owner_state.value;
		document.datosdominios.tech_country.value = document.datosdominios.owner_country.value;
		document.datosdominios.tech_postal_code.value = document.datosdominios.owner_postal_code.value;
		document.datosdominios.tech_phone.value = document.datosdominios.owner_phone.value;
		document.datosdominios.tech_fax.value = document.datosdominios.owner_fax.value;
		document.datosdominios.tech_email.value = document.datosdominios.owner_email.value;
	}
	else
	{ 
      	document.datosdominios.tech_first_name.value = '';
            document.datosdominios.tech_last_name.value = '';
            document.datosdominios.tech_org_name.value = '';
            document.datosdominios.tech_address1.value = '';
            document.datosdominios.tech_address2.value = '';
            document.datosdominios.tech_address3.value = '';
            document.datosdominios.tech_city.value = '';
            document.datosdominios.tech_state.value = '';
            document.datosdominios.tech_country.value = '';
            document.datosdominios.tech_postal_code.value = '';
            document.datosdominios.tech_phone.value = '';
            document.datosdominios.tech_fax.value = '';
		document.datosdominios.tech_email.value = '';
	}
}

function TechAsAdmin()
{ 
	if(document.datosdominios.tech_same_as_admin.checked)
	{ 
		document.datosdominios.tech_first_name.value = document.datosdominios.admin_first_name.value;
		document.datosdominios.tech_last_name.value = document.datosdominios.admin_last_name.value;
		document.datosdominios.tech_org_name.value = document.datosdominios.admin_org_name.value;
		document.datosdominios.tech_address1.value = document.datosdominios.admin_address1.value;
		document.datosdominios.tech_address2.value = document.datosdominios.admin_address2.value;
		document.datosdominios.tech_address3.value = document.datosdominios.admin_address3.value;
		document.datosdominios.tech_city.value = document.datosdominios.admin_city.value;
		document.datosdominios.tech_state.value = document.datosdominios.admin_state.value;
		document.datosdominios.tech_country.value = document.datosdominios.admin_country.value;
		document.datosdominios.tech_postal_code.value = document.datosdominios.admin_postal_code.value;
		document.datosdominios.tech_phone.value = document.datosdominios.admin_phone.value;
		document.datosdominios.tech_fax.value = document.datosdominios.admin_fax.value;
		document.datosdominios.tech_email.value = document.datosdominios.admin_email.value;
	}
	else
	{ 
      	document.datosdominios.tech_first_name.value = '';
            document.datosdominios.tech_last_name.value = '';
            document.datosdominios.tech_org_name.value = '';
            document.datosdominios.tech_address1.value = '';
            document.datosdominios.tech_address2.value = '';
            document.datosdominios.tech_address3.value = '';
            document.datosdominios.tech_city.value = '';
            document.datosdominios.tech_state.value = '';
            document.datosdominios.tech_country.value = '';
            document.datosdominios.tech_postal_code.value = '';
            document.datosdominios.tech_phone.value = '';
            document.datosdominios.tech_fax.value = '';
		document.datosdominios.tech_email.value = '';
	}
}


function TechAsBilling()
{ 
	if(document.datosdominios.tech_same_as_billing.checked)
	{ 
		document.datosdominios.tech_first_name.value = document.datosdominios.billing_first_name.value;
		document.datosdominios.tech_last_name.value = document.datosdominios.billing_last_name.value;
		document.datosdominios.tech_org_name.value = document.datosdominios.billing_org_name.value;
		document.datosdominios.tech_address1.value = document.datosdominios.billing_address1.value;
		document.datosdominios.tech_address2.value = document.datosdominios.billing_address2.value;
		document.datosdominios.tech_address3.value = document.datosdominios.billing_address3.value;
		document.datosdominios.tech_city.value = document.datosdominios.billing_city.value;
		document.datosdominios.tech_state.value = document.datosdominios.billing_state.value;
		document.datosdominios.tech_country.value = document.datosdominios.billing_country.value;
		document.datosdominios.tech_postal_code.value = document.datosdominios.billing_postal_code.value;
		document.datosdominios.tech_phone.value = document.datosdominios.billing_phone.value;
		document.datosdominios.tech_fax.value = document.datosdominios.billing_fax.value;
		document.datosdominios.tech_email.value = document.datosdominios.billing_email.value;
	}
	else
	{ 
      	document.datosdominios.tech_first_name.value = '';
            document.datosdominios.tech_last_name.value = '';
            document.datosdominios.tech_org_name.value = '';
            document.datosdominios.tech_address1.value = '';
            document.datosdominios.tech_address2.value = '';
            document.datosdominios.tech_address3.value = '';
            document.datosdominios.tech_city.value = '';
            document.datosdominios.tech_state.value = '';
            document.datosdominios.tech_country.value = '';
            document.datosdominios.tech_postal_code.value = '';
            document.datosdominios.tech_phone.value = '';
            document.datosdominios.tech_fax.value = '';
		document.datosdominios.tech_email.value = '';
	}
}


function Rellena(campo,destino)
{
  var td=document.getElementById(destino);
	td.innerHTML=campo;
}


function removeOptionSelected(elSel) {  
	var i;  
	var msg='va a eliminar las siguientes direcciones de la lista\n\n';

	for (i = elSel.length - 1; i>=0; i--) {     
		if (elSel.options[i].selected) {      
			msg += elSel.options[i].value + '\n';
		}   
	}  

	if (confirm(msg)) 
	{
		for (i = elSel.length - 1; i>=0; i--) {     
			if (elSel.options[i].selected) {      
				elSel.remove(i);
			}   
		}  
	}
}

function compruebaEmail(texto)
{
   var mailres = true;             
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
     
    var arroba = texto.indexOf("@",0); 
    if ((texto.lastIndexOf("@")) != arroba) arroba = -1; 
     
    var punto = texto.lastIndexOf("."); 
                 
     for (var contador = 0 ; contador < texto.length ; contador++){ 
        if (cadena.indexOf(texto.substr(contador, 1),0) == -1){ 
            mailres = false; 
            break; 
     } 
    } 

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1)) 
     mailres = true; 
    else 
     mailres = false; 
                 
    return mailres; 
}

function appendOptionLast(val,elSel) {   
	var elOptNew = document.createElement('option');   
	elOptNew.text = val;  
  elOptNew.value = val;
	try { elSel.add(elOptNew, null);  }   
	catch(ex) {  elSel.add(elOptNew);  }  
}


function multipleAppendOptionLast(val,elSel) {   
	var lines;
	var error='';
	if(document.all) { // IE
		lines=val.split("\r\n");
	}
	else { //Mozilla
		lines=val.split("\n");
	}
	for(var i=0; i<lines.length; i++) {
		if (compruebaEmail(lines[i]))
		{
			var elOptNew = document.createElement('option');
			elOptNew.text = lines[i];
			elOptNew.value = lines[i];
			try { elSel.add(elOptNew, null); }
			catch(ex) {  elSel.add(elOptNew); }
		}
		else
			error += lines[i] + ' dirección de email erronea\n';
	}
	if (error != '')
		alert(error);
}


// Para ventanas de dialogo popup.

function getPos(elem) {
	var curleft = curtop = 0;
	if (elem.offsetParent) {
		do {
			curleft += elem.offsetLeft;
			curtop += elem.offsetTop;
		} while (elem = elem.offsetParent);
		return {x:curleft,y:curtop};
	}
}

function getLeft(elem){
	var x=0;
	if (elem.calcLeft)
		return elem.calcLeft;
	var oElem=elem;
	while(elem){
		if ((elem.style)&& (!isNaN(parseInt(elem.style.borderLeftWidth)))&&(x!=0))
		x+=parseInt(elem.style.borderLeftWidth);
		x+=elem.offsetLeft;
		elem=elem.offsetParent;
	}
	oElem.calcLeft=x;
	return x;
}

function getTop(elem){
	var x=0;
	if (elem.calcTop)
		return elem.calcTop;
	var oElem=elem;
	while(elem){
		if ((elem.style)&& (!isNaN(parseInt(elem.style.borderTopWidth)))&&(x!=0))
		x+=parseInt(elem.style.borderTopWidth);
		x+=elem.offsetTop;
		elem=elem.offsetParent;
	}
	oElem.calcTop=x;
	return x;
}

function showpopup(id,url){
	var left = getLeft(id) - 10;
	var top = getTop(id) + 25;
	var popupDiv = document.getElementById('popup_dialog');
	popupDiv.style.display = 'block';
	popupDiv.style.position = 'absolute';
	popupDiv.style.top = top+'px';
	popupDiv.style.left = left+'px';
	popupDiv.style.zIndex = 100;

	getData(url,'popup_dialog');
}

function closepopup() {
	var popupDiv = document.getElementById('popup_dialog');
	popupDiv.style.display = "none";
}

function MenuLateralMas(elem)
{
  Mostrar("xmsMenuLateral-"+elem);
  Mostrar("xmsMenuLateral-"+elem+"-Menos");
  Ocultar("xmsMenuLateral-"+elem+"-Mas");
}

function MenuLateralMenos(elem)
{
  Ocultar("xmsMenuLateral-"+elem);
  Ocultar("xmsMenuLateral-"+elem+"-Menos");
  Mostrar("xmsMenuLateral-"+elem+"-Mas");
}
            

