//by Cristian [actualizado 24/06/2010]
CalendarioV = function(r, i, i2, fi, la, d, fnc, tm) {
	var _arg = {
		d : d || '',
		t : tm || ''
	}
	fCalendario.Funcion = fnc;
	fCalendario.InputA = eval(i);
	fCalendario.InputB = eval(i2);
	
	fCalendario.Conn.AS(r ? fi : fCalendario.InputB.value, r ? fCalendario.InputB.value : '', la, _arg.d, fCalendario.InputA.value, _arg.t);
}
Calendario = function(i, fi, la, d, fnc, tm) {
	var _arg = {
		d : d || '',
		t : tm || ''
	}
	fCalendario.Funcion = fnc;
	fCalendario.InputA = eval(i);
	
	fCalendario.Conn.AS(fi, '', la, _arg.d, fCalendario.InputA.value, _arg.t);
}
/**/
if (typeof swfobject !== "undefined") {
	var fcal_cssDOM = document.createElement('link');
	with(fcal_cssDOM){
		setAttribute('rel', 'stylesheet');
		setAttribute('type', 'text/css');
		setAttribute('href', 'calendarioFlash/calendario.css');
		setAttribute('media', 'screen');
	}
	document.getElementsByTagName("head")[0].appendChild(fcal_cssDOM);
	//
	document.write('<div id="calendario_DIV"><span id="calendario_SWF"><strong>Ud. necesita actualizar su reproductor de Flash</strong><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Descargar Adobe Flash Player" /></a></span></div>');
	swfobject.embedSWF("calendarioFlash/calendario.swf", "calendario_SWF", "315", "168", "8", "js/swfobject/expressInstall.swf", {}, {quality:"autohigh",bgcolor:"#ffffff",allowScriptAccess:"always"}, {});
}
fCalendario = {
	Funcion : null,
	InputA : null,
	InputB : null,
	_estado : 0,
	Conn : {
		JS : function(f,t){
			fCalendario.InputA.value = f;
			fCalendario.InputA.title = t;
			//
			fCalendario.Cerrar();
			//
			if(typeof fCalendario.Funcion == "string") eval(fCalendario.Funcion);
			fCalendario.Funcion = null;
		},
		AS : function(){
			var _args = fCalendario.Conn.AS.arguments;
			var _cSWF = fCalendario.Get.Obj('calendario_SWF');			
		
			var _deshaSem = "";
			var	_deshaDias = ""; 
			var _dh = _args[3];
			var _desha = _dh.split("#");
			if(_desha.length<2){
				if(_desha[0].indexOf("/")>-1 || _desha[0].indexOf("-")>-1 || _desha[0].indexOf(".")>-1){
					_deshaDias = _desha[0]; 
				}else{
					_deshaSem = _desha[0];
				} 
			}else{
				_deshaSem = _desha[0];
				_deshaDias = _desha[1];
			}
			var _tm = (_args[5] == '') ? 48 : _args[5];
						
			if (_cSWF != null) _cSWF.Conecta(_args[0], _args[1], _args[2], _deshaSem, _deshaDias, _args[4], _tm);
			
			fCalendario.Abrir();
		}
	},
	Cerrar : function(){
		var _cDIV = fCalendario.Get.Obj('calendario_DIV');
		_cDIV.style.left = '-500px';
		_cDIV.style.top = '-500px';
		_cDIV.style.visibility = 'hidden';
		fCalendario._estado = 0;
	},
	Abrir : function(){
		var _cDIV = fCalendario.Get.Obj('calendario_DIV');
		
		var _c = fCalendario.Get.Pos(fCalendario.InputA, (0, 0));
		
		_cDIV.style.left = _c[0]+'px';
		_cDIV.style.top = _c[1]+'px';
		_cDIV.style.visibility = 'visible';
		
		fCalendario.Get.Obj('calendario_SWF').focus();
		
		fCalendario._estado = 1;
	},
	Get : {
		Obj : function(o){
			return document.getElementById(o);
		},	
		Pos : function(a, of) {
			var _p = of ? of.slice(0) : [0, 0];
			var _al = a.offsetHeight;
			var _an = a.offsetWidth;
			while (a) {
				var tn = a.tagName.toLowerCase();
				_p[0] += a.offsetLeft;
				_p[1] += a.offsetTop;
				if (tn == "body") break;
				a = a.offsetParent;
			}
			_p[1] += _al+1;
				
			if ((_p[0]-fCalendario.Get.ScrollLeft()) > (fCalendario.Get.WinWidth()-315)) {
				_p[0] -= 315+_an;
			}
			if ((_p[1]-fCalendario.Get.ScrollTop()) > (fCalendario.Get.WinHeight()-168)) {
				_p[1] -= 168-_al;
			}
			
			return _p;
		},
		WinWidth : function () {	
			return (document.body.offsetWidth>window.innerWidth) ? window.innerWidth : document.body.offsetWidth;	
		},
		WinHeight : function () {	
			return (document.body.offsetHeight>window.innerHeight) ? window.innerHeight : document.body.offsetHeight;	
		},
		ScrollTop : function () {
			return document.body.scrollTop || window.pageYOffset || 0;
		},
		ScrollLeft : function () {
			return document.body.scrollLeft || window.pageXOffset || 0;
		}
	},
	isMac : function(){
		return (navigator.userAgent.toLowerCase().split(".").join("").indexOf('mac')<0) ? 0 : 1;
	}
}
if(!fCalendario.isMac()){
	document.onmousedown = function() {
		if (fCalendario._estado) fCalendario.Cerrar();
	};
}
