

if(!String.trim)String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

var miAjax = new Ajax('', {onComplete:function(){var divLoading1 = $('divLoadingEmpleo2'); if(divLoading1)divLoading1.style.display = 'none';var divLoading2 = $('divLoadingEmpleo3'); if(divLoading2) divLoading2.style.display = 'none';}});
var miAjax2 = new Ajax('', {onComplete:function(){var divLoading1 = $('divLoadingEmpleo2'); divLoading1.style.display = 'none';var divLoading2 = $('divLoadingEmpleo3'); divLoading2.style.display = 'none';}});
var calEffectAct = 'slideIn';
var keyUP;
document.onkeydown = function(ev){ keyUP = (typeof ev !== 'undefined') ? ev.keyCode : event.keyCode; };

function loadCSS(sUrl){
	var link = document.createElement('LINK');
	link.rel = 'stylesheet';
	link.media = 'screen';
	link.type = 'text/css';
	link.href = sUrl;
	document.getElementsByTagName('HEAD')[0].appendChild(link);
}

function ajax(sUrl,sEle){
	miAjax.url            = sUrl;
	miAjax.options.data = '';
	miAjax.options.update = $(sEle);
	miAjax.options.evalScripts = true;
	miAjax.request();
}

function showLoading(){

	this.divLoading.style.display = '';
}

function ajaxEmpleo(sUrl,sEle, divLoad){
	if (divLoad)
		var divLoading = $(divLoad);	
	else	
		var divLoading = $('divLoadingEmpleo2');
		
	var divContent = $(sEle);
	divLoading.style.display = '';
	divLoading.style.top = '200px';
	divLoading.style.left = (divContent.offsetLeft + (divContent.offsetWidth / 2) - (divLoading.offsetWidth/2)) + 220 + 'px';

	miAjax2.url = sUrl;
	miAjax2.options.data = '';
	miAjax2.options.update = divContent;
	miAjax2.options.evalScripts = true;
	miAjax2.request();
}

function ajaxFormEmpleo(sUrl,sForm,sEle){
	var divLoading = $('divLoadingEmpleo2');
	var divContent = $(sEle);
	divLoading.style.display = '';
	divLoading.style.top = '50px';
	divLoading.style.left = (divContent.offsetLeft + (divContent.offsetWidth / 2) - (divLoading.offsetWidth/2)) + 170 + 'px';

	miAjax2.url = sUrl;
	miAjax2.options.data = $(sForm);
	miAjax2.options.update = sEle;
	miAjax2.options.method = 'post';
	miAjax2.options.evalScripts = true;
	miAjax2.request();
}

function ajaxForm(sUrl,sForm,sEle,divLoad){
	if (divLoad){
		var divLoading = $(divLoad);	
		var divContent = $(sEle);
		divLoading.style.display = '';
		divLoading.style.top = '350px';
		divLoading.style.left = (divContent.offsetLeft + (divContent.offsetWidth / 2) - (divLoading.offsetWidth/2)) + 50 + 'px';
	}
	miAjax.url = sUrl;
	miAjax.options.data = $(sForm);
	miAjax.options.update = sEle;
	miAjax.options.method = 'post';
	miAjax.options.evalScripts = true;
	miAjax.request();
}

function ajaxCalendar(sUrl, iTipo){
	iMonth = $('lstMonths').options[$('lstMonths').selectedIndex].value;
	iMonth++;
	iYear=$('lstYear').options[$('lstYear').selectedIndex].text;
	ajax(sUrl+iMonth+"/"+iYear+"/"+iTipo,"divCalendarAjax");
}

function slideCalendar(sEffect){
	calEffectAct = sEffect;
	if (sEffect == 'slideOut')   calendarEffect.slideIn();
	else   calendarEffect.slideOut();
}

function listEventsCalendar(sLink){
		$('divEvents').style.display = '';
		$('agendaEventos').style.display = 'none';
		var miAjax = new Ajax(sLink, {update:$('divEvents'),onComplete:function(){slideCalendar('slideOut');}});
				miAjax.request();
}

function is_empty(Element) {
	sString = Element.value;
	if (sString.trim() == ''){
		return true;
	}else{
		return false;
	}
}

function button_enabled(sButton, bBoolean){
	$(sButton).disabled=bBoolean;

}

function openWindow(sTitulo, sUrl) {
	var especificaciones = "top=0, left=0, toolbar=no,location=no, status=no,menubar=no,scrollbars=yes, resizable=yes, width=1050,height=950";
	window.open(sUrl,'',especificaciones);
}

function openWND(sTitulo, sUrl, width, height){
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt((screen.availHeight/2) - (height/2));
    var especificaciones = "top="+top+", left="+left+", toolbar=no,location=no, status=no,menubar=no,scrollbars=yes, resizable=yes, width="+width+",height="+height;
    window.open(sUrl, '_blank', especificaciones);
}

function getFamily(el,formRef){
	var els=formRef.elements;
	var retArray = new Array();

	for(var no=0;no<els.length;no++){
		if(els[no].name==el.name) retArray[retArray.length]=els[no];
	}

	return retArray;
}

function setFormValues(formRef, arrDatos){
	var retArray = new Object();

	formRef = $(formRef);

	var els = formRef.elements;

	for(var no=0; no < els.length; no++){

		var tag = els[no].tagName.toLowerCase();

		switch(tag){
		case "input":
			var type = els[no].type.toLowerCase();

			if(!type) type='text';

			switch(type){
				case "text":
				case "image":
				case "hidden":
				case "password":
					if(arrDatos[els[no].name]) els[no].value = arrDatos[els[no].name];
					break;
				case "checkbox":
					var boxes = getFamily(els[no],formRef);

					if(arrDatos[els[no].name]){
						if(boxes.length > 1 && arrDatos[els[no].name].length > 1){

							for(var no2=0; no2 < boxes.length; no2++){

								for(var no3=0; no3 < arrDatos[els[no].name].length; no3++){
									if(boxes[no2].value == arrDatos[els[no].name][no3]){
										boxes[no2].checked = true;
										break;
									}
								}
							}
						}else{
							if(els[no].value == arrDatos[els[no].name]) els[no].checked = true;
						}
					}
					break;
				case "radio":
					if(els[no].value == arrDatos[els[no].name]) els[no].checked = true;
					break;
			}

			break;
		case "select":
			var string='';
			var mult = els[no].getAttribute('multiple');

			if(arrDatos[els[no].name]){
				if((mult||mult==='') && arrDatos[els[no].name].length > 1){

					for(var no2=0; no2 < els[no].options.length; no2++){

						for(var no3=0; no3 < arrDatos[els[no].name].length; no3++){
							if(els[no].options[no2].value == arrDatos[els[no].name][no3]){
								els[no].options[no2].selected = true;
								break;
							}
						}

					}
				}else{
					for(var no2=0; no2 < els[no].options.length; no2++){
						if(els[no].options[no2].value == arrDatos[els[no].name]){
							els[no].options[no2].selected = true;
							break;
						}
					}
				}
			}

			break;
		case "textarea":
			if(arrDatos[els[no].name]) els[no].value = arrDatos[els[no].name];

			break;
		}
	}
}

controlEmpleoIdioma = function (sName) {
	this.iCon = 2;
	this.sName = sName;

}

controlEmpleoIdioma.prototype = {

	agregar : function () {
		div = document.createElement("div");

		div.setAttribute('id', 'div'+this.sName+'Idioma_'+this.iCon);

		var sHtml = $('div'+this.sName+'Idioma_1').innerHTML;

		var command = "sHtml=sHtml.replace(/_1/gi,'_"+this.iCon+"');";

		eval(command);

		sHtml=sHtml.replace(/\[idioma\]\[1\]/gi,'[idioma]['+this.iCon+']');

		sHtml=sHtml.replace(/\[idioma_dominio\]\[1\]/gi,'[idioma_dominio]['+this.iCon+']');

		div.innerHTML = sHtml;

		$("div"+this.sName+"Idiomas").appendChild(div);


		$('lab'+this.sName+'Idioma_'+this.iCon).innerHTML = 'Idioma requerido #'+this.iCon;

		this.iCon++;
	},
	agregarEdit : function (iNum) {
		for (var x = 2; x<iNum+2; x++) {
			div = document.createElement("div");

			div.setAttribute('id', 'div'+this.sName+'Idioma_'+x);

			var sHtml = $('div'+this.sName+'Idioma_1').innerHTML;

			var command = "sHtml=sHtml.replace(/_1/gi,'_"+x+"');";

			eval(command);

			sHtml=sHtml.replace(/\[idioma\]\[1\]/gi,'[idioma]['+x+']');

			sHtml=sHtml.replace(/\[idioma_dominio\]\[1\]/gi,'[idioma_dominio]['+x+']');

			div.innerHTML = sHtml;

			$("div"+this.sName+"Idiomas").appendChild(div);


			$('lab'+this.sName+'Idioma_'+x).innerHTML = 'Idioma requerido #'+x;

			this.iCon++;
		}
	}
}

Options = function(sIntance){
	this.Intance = sIntance;
	this.divId = '';
	this.classSelect = '';
	this.classNormal = '';
	this.divContent = '';
	this.divSelect = '';
}
Options.prototype = {
	SetConfig : function(sId, classSelect, classNormal){
		this.divId = sId;
		this.divContent = $(this.divId);
		this.classSelect = classSelect;
		this.classNormal = classNormal;
		this.init();
	},
	opSelect : function(objDiv){
		var onClick = objDiv.getAttribute('onclick2');
		if (this.issetNoEmpty(onClick)) eval(onClick);
		if (this.issetNoEmpty(this.divSelect))
			this.divSelect.className = this.classNormal;
		this.divSelect = objDiv;
		this.divSelect.className = this.classSelect;
	},
	select : function(iNum){
		var arrDivs = this.divContent.getElementsByTagName('div');
		var lenArrDivs = arrDivs.length;
		var iCol = 0;
		for (var i = 0; i < lenArrDivs; i++)
			if (arrDivs[i].className == this.classNormal || arrDivs[i].className == this.classSelect)
				if (iNum == ++iCol)
					this.opSelect(arrDivs[i]);

	},
	issetNoEmpty : function(obj){
		return (typeof obj !== 'undefined' && obj !== null && obj !== '')? true : false;
	},
	getJSFunction : function(objOnClick){
		var sString = new String(objOnClick);
		if (sString.indexOf('function') == 0){
			var ini = sString.indexOf('{');
			var fin = sString.lastIndexOf('}');
			return sString.slice(ini+1,fin);
		}else return sString;
	},
	init : function(){
		var arrDivs = this.divContent.getElementsByTagName('div');
		var lenArrDivs = arrDivs.length;
		var iCon = 0;
		var sOnClick;
		//Formato a filas
		for (var i = 0; i < lenArrDivs; i++){
			if (arrDivs[i].className == this.classNormal || arrDivs[i].className == this.classSelect){
				var objInstance = this;
				atSelect = arrDivs[i].getAttribute('select');
				sOnClick = this.getJSFunction(arrDivs[i].onclick);
				arrDivs[i].setAttribute('onclick2', sOnClick);
				if (this.issetNoEmpty(atSelect)){
					if (atSelect == 'true') arrDivs[i].onclick = function(){ objInstance.opSelect(this); };
				}else
					arrDivs[i].onclick = function(){ objInstance.opSelect(this); };
				if (arrDivs[i].className == this.classSelect) this.divSelect = arrDivs[i];
			}
		}
	}
}


/* INICIO PAGINADOR */
Paginador = function(sInstance, sDiv){
	this.Instance = sInstance+'.';
	this.keyCode;
	this.config = {
		divContent : '',
		actived : true,
		resultset_first : '',
		resultset_first2 : '',
		resultset_last : '',
		resultset_last2 : '',
		resultset_next : '',
		resultset_next2 : '',
		resultset_previous : '',
		resultset_previous2 : '',
		numDatos : 0,
		numPaginas : 0,
		divMostrar : '',
		divPaginas : '',
		inputPage : '',
		iPagina : 0,
		paginar : 0,
		objForm : '',
		divAjax: '',
		url : ''
	}
	$(sDiv).appendChild(this.__getPaginador());
}
Paginador.prototype = {
	__newDiv : function(sClass, sStyle){
		var objDiv = this.createElement('DIV');
		if (this.issetNoEmpty(sClass)) objDiv.className = sClass;
		if (this.issetNoEmpty(sStyle)) objDiv.style.cssText = sStyle;
		return objDiv;
	},
	__onButtonMouseOver : function(){
		this.className = 'paginador-btn-over';
	},
	__onButtonMouseOut : function(){
		this.className = 'paginador-btn-out';
	},
	__onButtonMousePressed : function(){
		this.className = 'paginador-btn-pressed';
	},
	__getFormatButton : function(objButton){
		var objTable = this.__newTable('paginador-btn-out');

		var objTbody = this.createElement('tbody');
		objTable.appendChild(objTbody);

		var objTr = this.createElement('tr');
		objTable.onmouseover = this.__onButtonMouseOver;
		objTable.onmouseout = this.__onButtonMouseOut;
		objTable.onmousedown = this.__onButtonMousePressed;
		objTable.onmouseup = this.__onButtonMouseOver;
		objTbody.appendChild(objTr);

		var objTd = this.__insertTD(objTr, 'paginador-btn-left');
		var objTd = this.__insertTD(objTr, 'paginador-btn-center');

		objTd.appendChild(objButton);

		var objTd = this.__insertTD(objTr, 'paginador-btn-right');

		return objTable;
	},
	__formatPaginador :  function(iPage){
		if (iPage == 1){
			this.config.resultset_first.className = 'paginador_btn_paginador paginador_btn_resultset_first_d';
			this.config.resultset_first.setAttribute('click',"false");
			this.config.resultset_previous.className = 'paginador_btn_paginador paginador_btn_resultset_previous_d';
			this.config.resultset_previous.setAttribute('click',"false");
		}else{
			this.config.resultset_first.className = 'paginador_btn_paginador paginador_btn_resultset_first';
			this.config.resultset_first.setAttribute('click',"true");
			this.config.resultset_previous.className = 'paginador_btn_paginador paginador_btn_resultset_previous';
			this.config.resultset_previous.setAttribute('click',"true");
		}

		if (iPage == this.config.numPaginas){
			this.config.resultset_last.className = 'paginador_btn_paginador paginador_btn_resultset_last_d';
			this.config.resultset_last.setAttribute('click',"false");
			this.config.resultset_next.className = 'paginador_btn_paginador paginador_btn_resultset_next_d';
			this.config.resultset_next.setAttribute('click',"false");
		}else{
			this.config.resultset_last.className = 'paginador_btn_paginador paginador_btn_resultset_last';
			this.config.resultset_last.setAttribute('click',"true");
			this.config.resultset_next.className = 'paginador_btn_paginador paginador_btn_resultset_next';
			this.config.resultset_next.setAttribute('click',"true");
		}
	},
	onClickBtnPaginador :  function(typeButton){
		switch(typeButton){
			case 'resultset_first' :
				if (this.config.resultset_first.getAttribute('click') == 'true') this.setPage(1);
			break;
			case 'resultset_previous' :
				if (this.config.resultset_previous.getAttribute('click') == 'true') this.setPage(this.config.iPagina - 1);
			break;
			case 'resultset_next' :
				if (this.config.resultset_next.getAttribute('click') == 'true') this.setPage(this.config.iPagina + 1);
			break;
			case 'resultset_last' :
				if (this.config.resultset_last.getAttribute('click') == 'true') this.setPage(this.config.numPaginas);
			break;
		}
	},
	setPaginar : function(numDatos, iPaginar){
		this.config.numDatos = numDatos;
		this.config.paginar = iPaginar;
		this.config.numPaginas = this.getMaxInteger(this.config.numDatos / this.config.paginar);
		if (this.config.numPaginas < 2)
			this.config.divContent.style.display = 'none';
		else{
			this.__drawPaginador(1);
			this.config.divContent.style.display = '';
		}
	},
	__validPage : function(iPage){
		iPage = parseInt(Math.abs(iPage));
		var iPageResult;
		if (isNaN(iPage)) iPageResult = this.config.iPagina; else iPageResult = iPage;
		if (iPageResult > this.config.numPaginas) iPageResult = this.config.numPaginas;
		if (iPageResult == 0) iPageResult = 1;
		return iPageResult;
	},
	setUrl : function(sUrl, objForm){
		this.config.url = sUrl;
		if (this.issetNoEmpty(objForm)) this.config.objForm = objForm;
	},
	__loadDatos : function(){
		if (this.config.url != ''){
			if (this.config.objForm == '')
				ajaxEmpleo(this.config.url+'/'+this.config.iPagina, this.config.divAjax);
			else
				ajaxFormEmpleo(this.config.url+'/'+this.config.iPagina, this.config.objForm, this.config.divAjax);
		}
	},
	__drawPaginador :  function(iPage){
		this.config.iPagina = this.__validPage(iPage);
		numIni = ((this.config.iPagina-1)*this.config.paginar)+1;
		numFin = numIni + (this.config.paginar - 1);
		if (numFin > this.config.numDatos) numFin = this.config.numDatos;

		this.config.divMostrar.innerHTML = 'Mostrando: '+numIni+' - '+numFin+' de '+this.config.numDatos;
		this.config.inputPage.value = this.config.iPagina;
		this.config.divPaginas.innerHTML = ' de '+this.config.numPaginas;
		this.__formatPaginador(this.config.iPagina);
	},
	setPage : function(iPage){
		//this.__showLoading();
		this.__drawPaginador(iPage);
		//Enviar Peticion
		this.__loadDatos();
		this.rowSelect = ''; this.rowOpen = '';
	},
	getMaxInteger : function(iNum) {
		var iDec;
		iDec = iNum - Math.round(iNum);
		if (iDec > 0) return Math.round(iNum) + 1; else return Math.round(iNum);
	},
	__getSeparador : function(){
		var objSpan = this.createElement('span');
		objSpan.className = 'paginador_btn_separador';
		objSpan.innerHTML = '&nbsp;';
		return objSpan;
	},
	___getButton : function(sTitle, sClass){
		var objButton = this.createElement('button');
		if (this.issetNoEmpty(sClass)) objButton.className = sClass;
		objButton.innerHTML = sTitle;
		return objButton;
	},
	__insertTD : function(objTR, sClass, sStyle){
		var objTD = this.createElement('TD');
		if (this.issetNoEmpty(sClass)) objTD.className = sClass;
		if (this.issetNoEmpty(sStyle)) objTD.style.cssText = sStyle;
		objTR.appendChild(objTD);
		return objTD;
	},
	__newTable : function(sClass){
		var objTable = this.createElement('table');
		objTable.cellPadding = '0px'; objTable.cellSpacing = '0px';	objTable.border = '0px';
		if (this.issetNoEmpty(sClass)) objTable.className = sClass;
		return objTable;
	},
	__insertDiv : function(objContent, sClass, sStyle){
		var objDiv = this.createElement('DIV');
		if (this.issetNoEmpty(sClass)) objDiv.className = sClass;
		if (this.issetNoEmpty(sStyle)) objDiv.style.cssText = sStyle;
		objContent.appendChild(objDiv);
		return objDiv;
	},
	onkeyCode : function(ev){
		var keyCode = (typeof ev !== 'undefined') ? ev.keyCode : event.keyCode;
		Paginador.keyCode = keyCode;
	},
	onEnterPage : function(objInput){
		var keycode = Paginador.keyCode;
		if (keycode == 13) this.setPage(objInput.value);
	},
	__getPaginador : function(){
		var objInstance = this;
		this.config.divContent = this.__newDiv('','display:none; background::#FF0000; border-top:1px solid #FFFFFF; text-align:left;');
		var objTable = this.__newTable();

		var objTbody = this.createElement('tbody');
		objTable.appendChild(objTbody);

		var objTr = this.createElement('tr');
		objTbody.appendChild(objTr);

		var objTd = this.__insertTD(objTr);
		this.config.resultset_first = this.___getButton('', '');
		this.config.resultset_first.onclick = function(){ objInstance.onClickBtnPaginador('resultset_first'); };
		objTd.appendChild(this.__getFormatButton(this.config.resultset_first));

		objTd = this.__insertTD(objTr);
		this.config.resultset_previous = this.___getButton('', '');
		this.config.resultset_previous.onclick = function(){ objInstance.onClickBtnPaginador('resultset_previous'); };
		objTd.appendChild(this.__getFormatButton(this.config.resultset_previous));

		objTd = this.__insertTD(objTr);
		objTd.appendChild(this.__getSeparador());

		objTd = this.__insertTD(objTr,'paginador_paginador_text');
		objTd.innerHTML = 'P&aacute;gina';

		objTd = this.__insertTD(objTr,'paginador_paginador_text');
		var objInput = this.createElement('input');
		objInput.type = 'text'; objInput.size = '3'; objInput.style.cssText = 'height: 14px; width:24px; font-family:tahoma,arial,helvetica,sans-serif; font-size:11px;';
		objInput.onkeydown = this.onkeyCode;
		objInput.onkeyup = function(){ objInstance.onEnterPage(this); };
		this.config.inputPage = objInput;
		objTd.appendChild(objInput);

		objTd = this.__insertTD(objTr,'paginador_paginador_text');
		this.config.divPaginas = objTd;
		objTd.innerHTML = '';

		objTd = this.__insertTD(objTr);
		objTd.appendChild(this.__getSeparador());

		objTd = this.__insertTD(objTr);
		this.config.resultset_next = this.___getButton('', '');
		this.config.resultset_next.onclick = function(){ objInstance.onClickBtnPaginador('resultset_next'); };
		objTd.appendChild(this.__getFormatButton(this.config.resultset_next));

		objTd = this.__insertTD(objTr);
		this.config.resultset_last = this.___getButton('', '');
		this.config.resultset_last.onclick = function(){ objInstance.onClickBtnPaginador('resultset_last'); };

		objTd.appendChild(this.__getFormatButton(this.config.resultset_last));

		var objDiv = this.__insertDiv(this.config.divContent, 'paginador_paginador_text', 'float:right; position:relative; top:4px;');
		this.config.divMostrar = objDiv;

		var objDiv = this.__insertDiv(this.config.divContent, '', 'display:none;');
		this.divAjax = objDiv;
		this.divAjax.id = this.idTable+'_ajax';

		this.config.divContent.appendChild(objTable);
		return this.config.divContent;
	},
	createElement : function(sElement){
		return document.createElement(sElement);
	},
	issetNoEmpty : function(obj){
		return (typeof obj !== 'undefined' && obj !== null && obj !== '')? true : false;
	}
}
/* FIN PAGINADOR */

function isset(varname)  {
  if(typeof( window[ varname ] ) != "undefined") return true;
  else return false;
}