var ventana ;
var access;

function getCookie(name){
	var cname = name + "=";               
	var dc = document.cookie;             
	if (dc.length > 0) {        
		begin = dc.indexOf(cname);       
		if (begin != -1) {           
			begin += cname.length;
			end = dc.indexOf(";", begin);
			if (end == -1) end = dc.length;
			return unescape(dc.substring(begin, end));
		} 
	}
	return null;
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) expires = expires * 1000 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function eraseCookie(name){ Set_Cookie(name,"",-1); }

function isdefined(objToTest) {
	if (null == objToTest) return false;
	if ("undefined" == typeof(objToTest)) return false;
	return true;
}

function emailCheck (emailStr) { 
	var emailPat=/^(.+)@(.+)$/; 
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; 
	var validChars="\[^\\s" + specialChars + "\]"; 
	var quotedUser="(\"[^\"]*\")"; 
	var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/; 
	var atom=validChars + '+'; 
	var word="(" + atom + "|" + quotedUser + ")"; 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); 
	var matchArray=emailStr.match(emailPat); 
	if (matchArray==null) return false;
	var user=matchArray[1] ;
	var domain=matchArray[2] ;
	if (user.match(userPat)==null) return false ;
	var IPArray=domain.match(ipDomainPat) 
	if (IPArray!=null) { 
	    for (var i=1;i<=4;i++) if (IPArray[i]>255) return false ;
	    return true ;
	} 
	var domainArray=domain.match(domainPat) ;
	if (domainArray==null) return false; 
	var atomPat=new RegExp(atom,"g") ;
	var domArr=domain.match(atomPat) ;
	var len=domArr.length ;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) return false ;
	if (len<2) return false; 
	return true; 
} 

function valalfa(e){
	tecla = (document.all) ? e.keyCode : e.which;  if (tecla == 8) return true;
    patron = /[A-Za-z0-9 ]/; te = String.fromCharCode(tecla);
    return patron.test(te);
}

function valnum(e){
    tecla = (document.all) ? e.keyCode : e.which;  if (tecla == 8) return true;
    patron = /[0-9]/;  te = String.fromCharCode(tecla);
    return patron.test(te);
}

function valfloat(e){
    tecla = (document.all) ? e.keyCode : e.which;  if (tecla == 8) return true;
    patron = /[0-9.]/;  te = String.fromCharCode(tecla);
    return patron.test(te);
}

function bl_enter(e) {
    tecla = (document.all) ? e.keyCode : e.which;  
	if (tecla == 13) return false;
}

function bl_space(e) {
    tecla = (document.all) ? e.keyCode : e.which;  
	if (tecla == 32) return false;
}

function getFormData(formName){
	var frmData = "";
	for (i=0; i<goo(formName).elements.length; i++) { 
		objeto = goo(formName).elements[i];
		if (isdefined(objeto.id)){
			if (objeto.type=="checkbox" || objeto.type=="radio" ){
				valor=(objeto.checked)?1:0;
				frmData+="&"+objeto.id+"="+valor;
			}else
				frmData+="&"+objeto.id+"="+objeto.value;
		}
	}
	return frmData;
}

function checkboxes(name) {
	var sel_checks = new Array();
	var elts_a= document.getElementsByName(name);
	var elts_cnt_a  = (typeof(elts_a.length) != 'undefined')?elts_a.length:0;
	if (elts_cnt_a) {
		counter_a = 0;
		for (var i_a = 0; i_a < elts_cnt_a; i_a++) {
			if ( elts_a[i_a].checked) {
				sel_checks[counter_a] = elts_a[i_a].value;
				counter_a++;
			};
		};
	};
	return sel_checks;
};

function adminLogin(){
	$('#btn_login').attr("disabled",true);
	$.ajax({
		type: "POST",
		url: "admin_login.php",
		data: '&login_username=' + $('#login_username').attr("value") +
			  '&login_contrasena=' + $('#login_contrasena').attr("value"),
        error: function(objeto, errData1, errdata2){ alert("Communications Error, Try Again"); },
		success: function(datos){ eval(datos); }
	});
	return false;
}

function defineWeb(value){
	$("#dgFldid_web").attr("disabled",((value==1)?true:false));
	return true;
}

function definirCategorias(access){
	$("#categoria").attr("disabled",true);
	$("#subcategoria").attr("disabled",true);
	$.ajax({
		type: "POST",
		url: "admin_contenidos_get_categorias.php",
		data: '&access=' + access +
			  '&web=' + document.getElementById("web").value,
        error: function(objeto, errData1, errdata2){ alert("Communications Error, Try Again"); },
		success: function(datos){ 
			var list = document.getElementById("categoria");
			list.length = 0;
			$("#categoria").length = 0;
			if (datos!=''){
				arrData = datos.split(",");
				for(n=0;n<arrData.length; n++){
					datos = arrData[n].split(":");
					list[n] = new Option(datos[1], datos[0]); 
				};
				list.selectedIndex = 0;
			};
			$("#categoria").attr("disabled",false);
			$("#subcategoria").attr("disabled",false);
			definirSubCategorias(access)
		}
	});
}

function definirSubCategorias(access){
	$("#subcategoria").attr("disabled",true);
	$.ajax({
		type: "POST",
		url: "admin_contenidos_get_subcategorias.php",
		data: '&access=' + access +
			  '&web=' + document.getElementById("web").value + 
			  '&categoria=' +  document.getElementById("categoria").value,
        error: function(objeto, errData1, errdata2){ alert("Communications Error, Try Again"); },
		success: function(datos){ 
			var list = document.getElementById("subcategoria");
			list.length = 0;
			$("#subcategoria").length = 0;
			if (datos!=''){
				arrData = datos.split(",");
				for(n=0;n<arrData.length; n++){
					datos = arrData[n].split(":");
					list[n] = new Option(datos[1], datos[0]); 
				};
			};
			$("#subcategoria").attr("disabled",false);
			if(typeof($("#contenido").attr("id"))!='undefined') definirContenido(access)
		}
	});
}

function definirContenido(access){
	$("#contenido").attr("disabled",true);
	$.ajax({
		type: "POST",
		url: "admin_contenidos_get_contenidos.php",
		data: '&access=' + access +
			  '&web=' + document.getElementById("web").value + 
			  '&categoria=' +  document.getElementById("categoria").value +
			  '&subcategoria=' +  document.getElementById("subcategoria").value,
        error: function(objeto, errData1, errdata2){ alert("Communications Error, Try Again"); },
		success: function(datos){ 
			var list = document.getElementById("contenido");
			list.length = 0;
			$("#contenido").length = 0;
			if (datos!=''){
				arrData = datos.split(",");
				for(n=0;n<arrData.length; n++){
					datos = arrData[n].split(":");
					list[n] = new Option(datos[1], datos[0]); 
				};
			};
			$("#contenido").attr("disabled",false);
		}
	});
}

function buscaContenidos(){
	parameters = "&defaultWeb=" + ($("#web").attr("value")) + 
				 "&defaultCategory=" + ($("#categoria").attr("value")) + 
				 "&defaultSubCategory=" + ($("#subcategoria").attr("value")) + 
				 "&defaultIdioma=" + ($("#idioma").attr("value")) + 
				 "&top_search=1";
	DG_Do('filter', parameters);
}

function _addrow(){
	$("#buscaInfo").hide();
	DG_addrow()
}

function _closeDiv(){
	$("#buscaInfo").show();
	DG_closeAdd();
}

function _saveData(fields,recno){
	$("#buscaInfo").show();
	DG_doSave(fields,recno);
}

function _editrow(id,code){
	$("#buscaInfo").hide();
	DG_editrow(id,code);
}

function buscaMedia(){
	parameters = "&defaultWeb=" + ($("#web").attr("value")) + 
				 "&defaultCategory=" + ($("#categoria").attr("value")) + 
				 "&defaultSubCategory=" + ($("#subcategoria").attr("value")) + 
				 "&defaultContent=" + ($("#contenido").attr("value")) + 
				 "&top_search=1";
	DG_Do('filter', parameters);
}

function preview(url){
	if(ventana){ventana.close()}
	ventana=window.open('','ventana','resize=yes,scrollbars=no,resizable=yes')
	ventana.document.write('<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"><img id="foto" alt="mi foto" src="' + url + '" onLoad="opener.redimensionar(this.width, this.height)">')
}

function redimensionar(ancho, alto){
	ventana.resizeTo(ancho + 20, alto + 100)
}

function hss(objToProcess, status){ 
	try { document.getElementById(objToProcess).style.display=status;} 
	catch(err){	alert("HSS: "+objToProcess);}
}

function gvv(objToProcess){ 
	try { return document.getElementById(objToProcess).value;} 
	catch(err){	alert("GVV: "+objToProcess);}
}

function goo(objToProcess){ 
	try { return document.getElementById(objToProcess);} 
	catch(err){	alert("GOO: "+objToProcess);}
}

function svv(objToProcess, strValue){ 
	try { document.getElementById(objToProcess).value = strValue;} 
	catch(err){	alert("SVV: "+objToProcess);}
}

function sii(objToProcess, strValue){ 
	try { document.getElementById(objToProcess).innerHTML = strValue; } 
	catch(err){	alert("SII: "+objToProcess);}
}

function gii(objToProcess){ 
	try { return document.getElementById(objToProcess).innerHTML; } 
	catch(err){	alert("GII: "+objToProcess);}
}

function buscaGrupos(access){
	$("#btnBuscar").attr("disabled",true);
	$('#ajaxLoading').css({"display":"block"});
	$('#dataGrid').css({"display":"none"});
	$.ajax({
		type: "POST",
		url: "admin_cupos_grid.php",
		data: '&access=' + access +
			  '&id_grpo=' + $('#grupo').attr("value") +
			  '&id_year=' + $("#id_year").val(),
        error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
		success: function(datos){ 
			$('#ajaxLoading').css({"display":"none"});
			$('#dataGrid').css({"display":"block"});
			$('#dataGrid').html(datos);
			$("#btnBuscar").attr("disabled",false);
			defineMenu();
		}
	});
	return false;
}

function buscaTarifas(access){
	$("#btnBuscar").attr("disabled",true);
	$('#ajaxLoading').css({"display":"block"});
	$('#dataGrid').css({"display":"none"});
	$.ajax({
		type: "POST",
		url: "admin_tarifas_ver_grid.php",
		data: '&access=' + access +
			  '&id_grpo=' + $('#grupo').attr("value") +
			  '&id_dias=' + $('#dias').attr("value") +
			  '&id_year=' + $("#id_year").val(),
        error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
		success: function(datos){ 
			$('#ajaxLoading').css({"display":"none"});
			$('#dataGrid').css({"display":"block"});
			$('#dataGrid').html(datos);
			$("#btnBuscar").attr("disabled",false);
		}
	});
}

function doSave(obj, cv){
	new_Value = $(obj).attr("value");
	if(new_Value.replace(/ /ig,'') == ''){
		$(obj).attr("value", cv);
	}else{
		$.ajax({
			type: "POST",
			url: "admin_cupos_grid_save.php",
			data: '&access=' + $("#access").attr("value") +
				  '&id_cell=' + obj.id +
				  '&vr_cell=' + new_Value + 
				  '&vr_year=' + $("#id_year").val() + 
				  '&vr_multi=' + $("#multi_id").attr("value"),
			error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
			success: function(datos){ 
				if (datos != "") {
					if(datos == 'updSelect'){
						$('.selectable .ui-selected' ).each(function(){ 
							if (this.id != ""){
								newValue = $(obj).attr("value");
								if (newValue == 0) newValue=" ";
								$("#" + this.id).attr("value", newValue);
							}
						});
					}else{
						alert(datos); 
					}
				}
				$('.selectable .ui-selected').removeClass('ui-selected');
				$("#multi_id").attr("value", "");
			}
		});
	}
}

function doSaveAdd(valueToAdd, tipo){
	if(valueToAdd.replace(/ /ig,'') == ''){
		return
	}else{
		$.ajax({
			type: "POST",
			url: "admin_cupos_grid_save_add.php",
			data: '&access=' + $("#access").attr("value") +
				  '&vr_cell=' + valueToAdd + 
				  '&vr_year=' + $("#id_year").val() + 
				  '&tp=' + tipo +
				  '&vr_multi=' + $("#multi_id").attr("value"),
			error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
			success: function(datos){ 
				if (datos != "") {
					arrDatos = datos.split(",");
					for (n=0;n<arrDatos.length;n++){
						arrID = arrDatos[n].split("=");
						$("#" + arrID[0]).attr("value",arrID[1]);
					}
				}
				$('.selectable .ui-selected').removeClass('ui-selected');
				$("#multi_id").attr("value", "");
			}
		});
	}
}

function doInactive(obj,value){
	$.ajax({
		type: "POST",
		url: "admin_cupos_grid_savestatus.php",
		data: '&access=' + $("#access").attr("value") +
			  '&id_cell=' + obj.id +
			  '&vr_cell=' + value +
			  '&vr_year=' + $("#id_year").val() +
			  '&vr_multi=' + $("#multi_id").attr("value"),
        error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
		success: function(datos){ 
			$('.selectable .ui-selected').removeClass('ui-selected');
			$("#multi_id").attr("value", "");
			if (datos != "") eval(datos); 
		}
	});
}

function defineMenu(){
	$('.cupoInput').contextMenu('myMenu1', {
		bindings: {
			'close': function(obj) { doInactive(obj, 1); },
			'open': function(obj) { doInactive(obj, 0); }
		},
		onShowMenu: function(e, menu) {
			multiID = $("#multi_id").attr("value").split(",");
			var esOtraFila = false;
			id = $(e.target).attr("id").split("_");
			for(n=0;n<multiID.length;n++){
				id2 = multiID[n].split("_");
				if (id[0]!=id2[0] || id[1]!=id2[1] || id[2]!=id2[2]) esOtraFila = true;
			}
			if (multiID.length>1 && !esOtraFila){
			}else{
				if ($(e.target).attr('readonly')) {
					$('#close,#separator,#add,#del', menu).remove();
				}else{
					$('#open,#separator,#add,#del', menu).remove();
				}
			}
			return menu;
		}		
	});
	$(".selectable" ).selectable({
		start: function(){
			$('.selectable .ui-selected').removeClass('ui-selected');
			$("#multi_id").attr("value", "");
		},
		stop: function() {
			var arrResult = Array(); var c = 0; var firstID = "";
			$( ".ui-selected", this ).each(function() {
				if (this.id!=""){
					if (firstID == "") firstID = this.id;
					arrResult[c] = this.id; c++;
				}
			});
			if (firstID!="") $("#" + firstID).focus();
			$("#multi_id").attr("value", arrResult);
		}
	});
}

function confirmarReserva(obj,id){
	$.ajax({
		type: "POST",
		url: "admin_confirmar_reserva.php",
		data: '&access=' + $("#access").attr("value") +
			  '&id=' + id,
        error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
		success: function(datos){ 
            obj.parentNode.innerHTML = datos;
		}
	});
}

function cancelarReserva(obj,id){
	$.ajax({
		type: "POST",
		url: "admin_cancelar_reserva.php",
		data: '&access=' + $("#access").attr("value") +
			  '&id=' + id,
        error: function(objeto, errData1, errdata2){ alert("Error de comunicación con el servidor... por favor intente nuevamente"); },
		success: function(datos){ 
            obj.parentNode.innerHTML = datos;
		}
	});
}

function fullView(access){
    location.href = "admin_tarifas_ver.php?access=" + access;
}

function verReserva(id,code){
    location.href = "admin_reservas_ver.php?access=" + $("#access").val() + "&id=" + id + "&code=" + code; 
}
