var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);

function change(obj,ruta,id) {
	var object = document.getElementById('confirm['+id+']');
	
	if(obj.src == (ruta+'disable.gif')) {
		obj.src= ruta+'enable.gif';
		object.value=0;
	} else {
		obj.src= ruta+'disable.gif';
		object.value=id;
	}
};

function setSelectionRange(input, start, end) {
	if (is_gecko) {
		input.setSelectionRange(start, end);
	} else {
		// assumed IE
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	}
};

function getSelectionStart(input) {
	if (is_gecko)
		return input.selectionStart;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(true);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
};

function getSelectionEnd(input) {
	if (is_gecko)
		return input.selectionEnd;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(false);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
};
//funcion para crear un popup centrado en la pantalla
	function openWin(ventana,popW,popH,nombre_ventana){
		if (nombre_ventana == undefined){var nom = 'Window';} else {var nom = nombre_ventana;}
		var w = 0, h = 0;
	
	   	w = screen.width; h = screen.height;
		var leftPos = (w-popW)/2, topPos = (h-popH)/2;
		
	    popupWindow=open(''+ventana+'',nom,'resizable=no,scrollbars=yes,width='+popW+',height='+popH+',top='+topPos+',left='+leftPos);
	    if (popupWindow.opener == null){popupWindow.opener = self;}
	}
//funcion para validar número de CUIT
	function ValidaCuit(nro){
		nro = nro.replace(/-/g,"");

		var suma;
		var resto;
		var verif;
		var pos = nro.split('');
	
		if (!/^\d{11}$/.test(nro)) {return false;}	
		while (true){
			suma = (pos[0] * 5 + pos[1] * 4 + pos[2] * 3 +
			pos[3] * 2 + pos[4] * 7 + pos[5] * 6 +
			pos[6] * 5 + pos[7] * 4 + pos[8] * 3 + pos[9] * 2);
			resto = suma % 11;
	
			if (resto == 0){verif = 0; break;}
			else if (resto == 1 && (pos[1] == 0 || pos[6] == 7)){pos[1] = 4; continue;}
			else {verif = 11 - resto; break;}
		}
		return pos[10] == verif;
	}
//funciones para validar fecha
	function stripCharsInBag(s, bag){
	    var returnString = "";
	    for (var i = 0; i < s.length; i++){
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}
	function daysInFebruary (year){
		return (((year % 4==0)&&((!(year % 100==0))||(year % 400==0)))?29:28);
	}
	function DaysArray(n){
		for (var i = 1; i <= n; i++){
			this[i] = 31;
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
			if (i==2) {this[i] = 29;}
	   }
	   return this;
	}
	function isDate(dtStr){  //isDate recibe una cadena y verifica que sea una fecha válida
		var dtCh = "/";
		var dAct = new Date();
		var minYear = dAct.getFullYear()-50;
		var maxYear = dAct.getFullYear()+50;
	
		var pos1 = dtStr.indexOf(dtCh);
		var pos2 = dtStr.indexOf(dtCh, pos1+1);
	
		var strDay  = dtStr.substring(0, pos1);
		var strMonth= dtStr.substring(pos1+1, pos2);
		var strYear = dtStr.substring(pos2+1);
	
		strYr = strYear;
		if (strDay.charAt(0)=="0" && strDay.length > 1){
			strDay = strDay.substring(1);
		}
		if (strMonth.charAt(0)=="0" && strMonth.length > 1){
			strMonth = strMonth.substring(1);
		}
		for (var i = 1; i <= 3; i++){
			if (strYr.charAt(0)=="0" && strYr.length > 1){strYr = strYr.substring(1);}
		}
		var daysInMonth = DaysArray(12);
		month= parseInt(strMonth);
		day  = parseInt(strDay);
		year = parseInt(strYr);

		if (pos1==-1 || pos2==-1){return false;}
		if (strMonth.length < 1 || month < 1 || month > 12){return false;}
		if (strDay.length<1||day<1||day>31||(month==2&&day > daysInFebruary(year))||day > daysInMonth[month]){return false;}
		if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){return false;}
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){return false;}

		return true
	}
//Permite que se ingrese un número entero en un Input Text
	function onlyInteger(InputText, evt) {
		var charCode = (evt.which) ? evt.which : event.keyCode;
		var strValue = '';
		
		//Antes de que el Caracter sea agregado al Text, obtengo cómo quedará.
	  var selectionStart = getSelectionStart(InputText);
	  var selectionEnd = getSelectionEnd(InputText);
	  strValue = InputText.value.substring(0, selectionStart) + String.fromCharCode(charCode) + InputText.value.substring(selectionEnd);
		
		//El valor tiene que ser un número decimal, o el ENTER, BACKSPACE, TAB, DELETE, etc
		if (!isInteger(strValue) && charCode > 31) {
			return false;
		}
		return true/*EnterToTab(InputText, evt)*/;
	}
//Permite que se ingrese un número decimal en un Input Text
	function onlyDecimal(InputText, evt) {
		var charCode = (evt.which) ? evt.which : event.keyCode;
		var strValue = '';
		
		//Antes de que el Caracter sea agregado al Text, obtengo cómo quedará.
	  var selectionStart = getSelectionStart(InputText);
	  var selectionEnd = getSelectionEnd(InputText);
	  strValue = InputText.value.substring(0, selectionStart) + String.fromCharCode(charCode) + InputText.value.substring(selectionEnd);
		
		//El valor tiene que ser un número decimal, o el ENTER, BACKSPACE, TAB, DELETE, etc
		if (!isDecimal(strValue) && charCode > 31) {
			return false;
		}
				
		return true; //EnterToTab(InputText, evt);
	}
//objeto para funcionalidad ajax
	var xmlHttp;
	function createXMLHttpRequest(){
		if (window.ActiveXObject){
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} else if(window.XMLHttpRequest){
			xmlHttp = new XMLHttpRequest();
		}
	}
//posicion real de un objeto html, cual es 'x' o 'y' segun si se quiere el left o top
	function pos_real(objeto, cual){
		var curleft = curtop = 0;
		if (objeto.offsetParent){
			curleft= objeto.offsetLeft;
			curtop = objeto.offsetTop;
			while (objeto = objeto.offsetParent){
				curleft += objeto.offsetLeft;
				curtop += objeto.offsetTop;
		}}
		if (cual=='x'){return curleft;} else {return curtop;}
	}
// general purpose function to see if a suspected numeric input
// is a positive or negative number
	function isDecimal(inputVal) {
		oneDecimal = false;
		inputStr = inputVal.toString();
		for (var i = 0; i < inputStr.length; i++) {
			var oneChar = inputStr.charAt(i);
			if (i == 0 && oneChar == "-") {
				continue;
			}
			if (oneChar == "." && !oneDecimal) {
				oneDecimal = true;
				continue;
			}
			if (oneChar < "0" || oneChar > "9") {
				return false;
			}
		}
		return true;
	}
// general purpose function to see if a suspected numeric input
// is a positive or negative integer
	function isInteger(inputVal) {
		inputStr = inputVal.toString();
		for (var i = 0; i < inputStr.length; i++) {
			var oneChar = inputStr.charAt(i);
			if (i == 0 && oneChar == "-") {
				continue;
			}
			if (oneChar < "0" || oneChar > "9") {
				return false;
			}
		}
		return true;
	}
//general purpose function to see if an input value has been entered at all
	function isEmpty(inputStr) {
		if (inputStr == "" || inputStr == null) {
			return true
		}
		return false
	}
//Función que simula el Tab al presionar Enter.
	function EnterToTab(objeto, event){
		var keyCode = event.keyCode?event.keyCode:event.which?event.which:event.charCode;
		if (keyCode == 13){
			var i; for (i = 0; i < objeto.form.elements.length; i++){
				if (objeto == objeto.form.elements[i]){break;}
			}
			i = objeto.form.elements[i].tabIndex + 1;
			for( j = 0 ; j < objeto.form.elements.length; j++){
				if( objeto.form.elements[j].tabIndex == i){break;}
			}
			objeto.form.elements[j].focus(); return false;
		} else {return true;}
	}
	
	
	function MM_openBrWindow(theURL,winName,features) { //v2.0
 	 window.open(theURL,winName,features);
	}

	
	function MM_openBrWindow2(theURL,winName,features) { //v2.0
  window.open('http://www.paradisebreezes.com/'+theURL,winName,features);
}



      function LoadGallery(pictureName,imageFile)
      {

			if (document.all)
  			{

				document.getElementById(pictureName).style.filter="blendTrans(duration=1)";
				document.getElementById(pictureName).filters.blendTrans.Apply();
 			}

			document.getElementById(pictureName).src = imageFile;
			if (document.all)
 			{

 				document.getElementById(pictureName).filters.blendTrans.Play();
			}


      }


								function view(id){
	ventanalast = 'verCalendario.php?villa='+id;

    popupWindow=open(ventanalast,'','resizable=no,scrollbars=yes,width=280,height=350,top=650,left=310');    
    if (popupWindow.opener == null){popupWindow.opener = self;}
}

