/**
ventanaModal

rel = opciones de ventana.
optionsForm = opciones de Formulario (campos con sus respectivas propiedades).
query = query para seleccionar los campos que contendra el formulario.
captionForm = Nombre del Formulario.
oper = tipo de operacion (edit,add)
tabla =

*/
function ventanaModal(rel,optionsForm,query,captionForm,oper,tabla,valKeys,keys,reloadGridAfterSave){
					$j_6("#loading").show();
					arrayRel = rel.replace("[","").replace("]","").split(",");
					var height1 = $j_6(window).height();
					var width1 = $j_6(window).width();
					
					/*var left = ((width1-arrayRel[1])/2)+$j_6(window).scrollLeft();
					var top = ((height1-arrayRel[2])/2)+$j_6(window).scrollTop();*/
					
					var left = (width1-arrayRel[1])/2;
					var top = (height1-arrayRel[2])/2;
					
					$j_6('#ventanaModal').height(height1);
					$j_6('#ventanaModal').width(width1);
					
					$j_6('#loadModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#loadModal-content').height(parseInt(arrayRel[2])+10);
					$j_6('#loadModal-content').css({left: left, top: top});
					$j_6('#loadModal').width(arrayRel[1]);
					$j_6('#loadModal').height(arrayRel[2]);
					
					$j_6('#closeModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#closeModal-content').height(15);
					
					$j_6('#ventanaModal').removeClass();
					$j_6('#loadModal-content').removeClass();
					$j_6('#ventanaModal').addClass('ventanaModal_');
					if($j_6.browser.msie)
						$j_6('#loadModal-content').addClass('loadModal_');
					else
						$j_6('#loadModal-content').addClass('loadModal_ sombraModal');
					
					valKeys = typeof(valKeys) != 'undefined' ? valKeys : '';	
					keys = typeof(keys) != 'undefined' ? keys : '';
					reloadGridAfterSave = typeof(reloadGridAfterSave) != 'undefined' ? reloadGridAfterSave : '';
					$j_6('#loadModal').load(arrayRel[0],{optionsForm: optionsForm, query: query, captionForm: captionForm, oper: oper, tabla: tabla, valKeys: valKeys, keys: keys, reloadGridAfterSave: reloadGridAfterSave});
					$j_6('#ventanaModal').show();
					$j_6('#loadModal-content').fadeIn('slow');
					$j_6('#closeModal-content').show();
					
}
function ventanaModal2(rel,reloadGridAfterSave,id,id2,id3,id4,id5){
					$j_6("#loading").show();
					arrayRel = rel.replace("[","").replace("]","").split(",");
					var height1 = $j_6(window).height();
					var width1 = $j_6(window).width();
					
					var left = (width1-arrayRel[1])/2;
					var top = (height1-arrayRel[2])/2;
					
					$j_6('#ventanaModal').height(height1);
					$j_6('#ventanaModal').width(width1);
					
					$j_6('#loadModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#loadModal-content').height(parseInt(arrayRel[2])+10);
					$j_6('#loadModal-content').css({left: left, top: top});
					$j_6('#loadModal').width(arrayRel[1]);
					$j_6('#loadModal').height(arrayRel[2]);
					
					$j_6('#closeModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#closeModal-content').height(15);
					
					$j_6('#ventanaModal').removeClass();
					$j_6('#loadModal-content').removeClass();
					$j_6('#ventanaModal').addClass('ventanaModal_');
					if($j_6.browser.msie)
						$j_6('#loadModal-content').addClass('loadModal_');
					else
						$j_6('#loadModal-content').addClass('loadModal_ sombraModal');
					
					id = typeof(id) != 'undefined' ? id : '';	
					id2 = typeof(id2) != 'undefined' ? id2 : '';
					id3 = typeof(id3) != 'undefined' ? id3 : '';
					id4 = typeof(id4) != 'undefined' ? id4 : '';
					id5 = typeof(id5) != 'undefined' ? id5 : '';
					
					reloadGridAfterSave = typeof(reloadGridAfterSave) != 'undefined' ? reloadGridAfterSave : '';
					
					$j_6('#loadModal').load(arrayRel[0],{reloadGridAfterSave: reloadGridAfterSave, id: id, id2: id2, id3: id3, id4: id4, id5: id5});
					
					$j_6('#ventanaModal').show();
					$j_6('#loadModal-content').fadeIn('slow');
					$j_6('#closeModal-content').show();
					
}

function ventanaModal3(rel,id,id2,id3,id4,id5,id6,id7,id8,id9){
					$j_6("#loading").show();
					arrayRel = rel.replace("[","").replace("]","").split(",");
					var height1 = $j_6(window).height();
					var width1 = $j_6(window).width();
					
					var left = (width1-arrayRel[1])/2;
					var top = (height1-arrayRel[2])/2;
					
					$j_6('#ventanaModal').height(height1);
					$j_6('#ventanaModal').width(width1);
					
					$j_6('#loadModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#loadModal-content').height(parseInt(arrayRel[2])+10);
					$j_6('#loadModal-content').css({left: left, top: top});
					$j_6('#loadModal').width(arrayRel[1]);
					$j_6('#loadModal').height(arrayRel[2]);
					
					$j_6('#closeModal-content').width(parseInt(arrayRel[1])+10);
					$j_6('#closeModal-content').height(15);
					
					$j_6('#ventanaModal').removeClass();
					$j_6('#loadModal-content').removeClass();
					$j_6('#ventanaModal').addClass('ventanaModal_');
					if($j_6.browser.msie)
						$j_6('#loadModal-content').addClass('loadModal_');
					else
						$j_6('#loadModal-content').addClass('loadModal_ sombraModal');
					
					id = typeof(id) != 'undefined' ? id : '';	
					id2 = typeof(id2) != 'undefined' ? id2 : '';
					id3 = typeof(id3) != 'undefined' ? id3 : '';
					id4 = typeof(id4) != 'undefined' ? id4 : '';
					id5 = typeof(id5) != 'undefined' ? id5 : '';
					id6 = typeof(id5) != 'undefined' ? id6 : '';
					id7 = typeof(id7) != 'undefined' ? id7 : '';
					id8 = typeof(id8) != 'undefined' ? id8 : '';
                                        id9 = typeof(id9) != 'undefined' ? id9 : '';
					
					$j_6('#loadModal').load(arrayRel[0],{id: id, id2: id2, id3: id3, id4: id4, id5: id5, id6: id6, id7: id7, id8: id8, id9: id9});
					
					$j_6('#ventanaModal').show();
					$j_6('#loadModal-content').fadeIn('slow');
					$j_6('#closeModal-content').show();
					
}

$j_6.fn.gridJQGrid = function(options){
	
	var opts = $j_6.extend({}, options);  
		$j_6('#loading').show();
		$j_6('#'+opts.div).load(opts.php,{
			headerNames: opts.headerNames,
			sortname: opts.sortname, 
			Frozen: opts.Frozen, 
			idGrid: opts.idGrid,
			idPagina: opts.idPagina,
			optionsCol: opts.optionsCol,
			ignoreColNamesExcel: opts.ignoreColNamesExcel,
			sheetName: opts.sheetName,
			urlDatos: opts.urlDatos,
			width: opts.width,
			rowNum: opts.rowNum,
			query: opts.query,
			optionsForm: opts.optionsForm,
			captionForm: opts.captionForm,
			tabla: opts.tabla,
			reloadGridAfterSave: opts.reloadGridAfterSave,
			captionConfirm: opts.captionConfirm,
			widthConfirm: opts.widthConfirm,
			heightConfirm: opts.heightConfirm,
			widthForm: opts.widthForm,
			heightForm: opts.heightForm,
			fileForm: opts.fileForm,
			hiddenCol: opts.hiddenCol,
			edit: opts.edit,
			add: opts.add,
			del: opts.del,
			height: opts.height,
			formName: opts.formName,
			reloadGridWithKey: opts.reloadGridWithKey,
			delForm: opts.delForm
			});
  
};  
  
$j_6.fn.gridJQGrid.defaults = {  
    numFrozen: 0,
	idGrid: 'listReg',
	idPagina: 'pagReg',
	ignoreColNamesExcel: '',
	sheetName: 'Registros',
	div: 'cuerpo',
	width: 750,
	height: 'auto',
	fileForm: 'grids/generaForm.php',
	php: 'grids/generaGrid.php',
	urlDatos: 'grids/generaDatosGrid.php',
	formName: 'form_excel',
	delForm: 'grids/confirmar.php'
};
function exportExcel(idGrid,colNamesExcel,ignoreColNamesExcel,sheetName,formName,noSesion)
{
	$j_6.messager.prompt('Exportar a Excel', 'Indique el nombre del archivo', function(file_name){
				if(!file_name){
					return false;
				}
			
	/*var file_name = prompt("Indique el nombre del archivo","Reporte");	
	if(!file_name){
		return false;
	}*/
	if(file_name == null || file_name == ""){
		file_name="Reporte";
	}
	
	/*var mya=new Array();
	mya=$j_6("#"+idGrid).getDataIDs();  // Get All IDs
	var data=$j_6("#"+idGrid).getRowData(mya[0]);     // Get First row to get the labels
	var colNames=new Array(); 
	var ii=0;
	for (var i in data){colNames[ii++]=i;}    // capture col names
	var html="";
	for(i=0;i<mya.length;i++)
		{
		data=$j_6("#"+idGrid).getRowData(mya[i]); // get each row
		for(j=0;j<colNames.length;j++)
			{
			html=html+data[colNames[j]]+"\t"; // output each column as tab delimited
			}
		html=html+"\n";  // output each row with end of line

		}
		/*$j_6('#loading').show();
		$j_6.post("excel/excel.php",{csvBuffer: html, file_name: file_name, sheetName: "Documentos", header: "RFC Emisor,Tipo Documento,Serie,Folio,Status,Fecha,RFC Receptor,Nombre,IVA,Total,Filtro A,FiltroB,FiltroC"},function(data){
			$j_6('#result').html(data);
			$j_6('#loading').hide();
		});*/
	var header = colNamesExcel;
        
	//html=html+"\n";  // end of line at the end
	var html="";
        
	document.forms[formName].csvBuffer.value=html;
	document.forms[formName].file_name.value=file_name;
	document.forms[formName].sheetName.value=sheetName;
	document.forms[formName].ignorarCol.value=ignoreColNamesExcel;
	document.forms[formName].header.value=header;
	document.forms[formName].method='POST';
	
	noSesion = typeof(noSesion) == 'undefined' ? '1': noSesion;
	document.forms[formName].noSesion.value=noSesion;
	if(navigator.appVersion.toLowerCase().indexOf("safari") != -1 && navigator.appVersion.toLowerCase().indexOf("chrome") == -1)
		document.forms[formName].action='excel/excelSafari.php';
	else
		document.forms[formName].action='excel/excel.php';
	
        document.forms[formName].target='_blank';
	document.forms[formName].submit();
	});
}
/**
php: Archivo php donde se valida el campo.
tipo: tipo de validacion - "duplcado"
bd: tabla de base de datos donde se buscara el registro
elemento: elemento u objeto html ejemplo: "this"
valkeys: llaves con su valor para hacer la condicion separando el nombre del campo y el valor con :

Ejemplo de valField:

onBlur="valField(\'grids/validaAJAX.php\',\'duplicado\',\'tdoctos\',this,\'[WHERE-FORM]\'); return false;"

Aqui se indica que se usara el archivo validaAJAX.php para validar el registro y se indica que valide que 
no se duplique el valor de la tabla tdoctos, con "this" envio el objeto html para poder tomar el valor 
introducido para validarlo,tambien se indica que se use como alternativo en el where de la query que tome
los campos definidos como key como condicion de validacion. 
*/
function valField(php,tipo,tabla,elemento,valkeys,operador){
	if(php == "" || tipo == "" || tabla == "" || elemento == ""){
		alert("Debe de especificar los parametros");
		return false;
	}
	valkeys = typeof(valkeys) != 'undefined' ? valkeys : '';
	$j_6.post(php,{tipo: tipo, tabla: tabla, valor: elemento.value, campo: elemento.name, valkeys: valkeys,operador: operador},function(data){
			$j_6('#resultForm').html(data);
	});
		
	return false;
}