
/*******************************************************************************************************	
	WebPage specific functions (browser sniffing, image swapping, etc.
*******************************************************************************************************/
n = (document.layers) ? true:false;                 // netscape 4
ie = (document.all) ? true:false;                    // ie4+
dom = ((document.getElementById)&&(!ie))?true:false;   // ns6 etc.

function NewWin(url,winname, w, h){
    window.location = url;
}

/*
function NewWindow(filename,winname, properties){
    window.open(filename,winname, properties);
}
*/


function NewWindow(filename, winname, properties){
    var xpos = (screen.width-800)/2;
    var ypos = (screen.height-600)/2;
    if(properties=='null')
    	properties = "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width=800,height=600,top=" + ypos + ",left=" + xpos;
    
    window.open(filename,winname, properties);
}

// Opens centered new Window with specified width and height
function lookupNewWin(filename,winname, w, h){
    var xpos = (screen.width-w)/2;
    var ypos = (screen.height-h)/2;

	winOptions = "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + w + ",height=" + h + ",top=" + ypos + ",left=" + xpos;
    window.open(filename,winname, winOptions);
}


/*******************************************************************************************************	
	confirmDelete (url, decodedParams [,message])
	Displays an alert box asking the user to confirm a deletion. 
	Can receive a message to be displayed as second argument. Otherwise, uses default message.
*******************************************************************************************************/
function confirmDelete(url, decodedParams) {
	//var message = (confirmDelete.arguments.length == 2) ? 'Are you sure you want to delete this record?' : confirmDelete.arguments[2];
	//if (confirm(message)) {
		sendRedirect(url, decodedParams);
	//}
}


/*******************************************************************************************************	
	sendRedirect (url [,decodedParams])
	Sends current window to the location desired. Mainly used to make any button act as href. 
	Can receive another sequence to be escaped as second argument (in case there is the need to have
	part of the url encoded)
*******************************************************************************************************/
function sendRedirect(url) {
	var decodedParams = (sendRedirect.arguments.length == 1) ? "" : sendRedirect.arguments[1];
	window.open(url + escape(decodedParams), "_self");
}


// Opens centered new Window with specified width and height
function chatNewWin(filename,winname, w, h){
    var xpos = (screen.width-w)/2;
    var ypos = (screen.height-h)/2;

	winOptions = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=" + w + ",height=" + h + ",top=" + ypos + ",left=" + xpos;
    window.open(filename,winname, winOptions);
}

var onSubMenu = 0;

function switchSub(element) {
	element.className = (element.className == 'sOn') ? 'sOff' : 'sOn';
}

function switchMen(layer) {
	var on;
	if (layer.className == 'mOn') {	
		layer.className = 'mOff'
		on = false;
	} else {
		layer.className = 'mOn';
		on = true;
	}

	if (on && menus[layer.id]) {
		hideSubs();
		subXpos = (ie) ? event.clientX - event.offsetX - 3 : layer.offsetLeft - 1;
		subYpos = (ie) ? event.clientY - event.offsetY + layer.offsetHeight - 1 : layer.offsetTop + layer.offsetHeight + 1;

		showSub(layer, subXpos, subYpos);
	}
/*** ie tests
    alert('mouse ' + event.clientY + ' in element ' + event.offsetY);
	alert(layer.id + ' ' + layer.clientHeight + ' ' + layer.clientLeft + ' ' + layer.clientWidth);
	alert(layer.id + ' ' + layer.offsetHeight + ' ' + layer.offsetLeft + ' ' + layer.offsetWidth);
	alert(event.offsetY);
 	alert(layer.clientX); */
/*** ns6 tests
	alert('mouse ' + event.clientX + ' in element ' + layerid);
 	alert(document.getElementById('serviciosDiv').offsetWidth + ' ' + document.getElementById('serviciosDiv').offsetHeight);
 	alert(document.getElementById('serviciosDiv').layerX);	
	alert(layer.offsetLeft); */
}

hex=255 // Initial color value.

function fadeText(fadeIn) {
	if (fadeIn) {
		hex -= 11;
	} else {
		hex += 11;
	}
	document.getElementById('bannerLayer').style.color="rgb("+(hex+56)+","+(hex+74)+","+(hex+129)+")";
	//document.getElementById('bannerLayer').style.color="rgb("+(hex+50)+","+(hex+50)+","+(hex+50)+")";
	if (hex < 0) { 
		document.getElementById('bannerLayer').style.visibility='hidden';
		setTimeout("document.getElementById('bannerLayer').style.visibility='visible'; fadeText(false)",2000)
	} else if (hex > 255) {
		setTimeout("fadeText(true)",4000);
	} else {
		setTimeout("fadeText(" + fadeIn + ")",45);
	}
	
}

function timer(layerId){
  var timeout=50;
  var tmr = setTimeout('if (!onSubMenu) document.getElementById("'+layerId+'").style.visibility="hidden"',timeout);
}

function showSub(layer, x, y) {
	subLayer = document.getElementById('sub' + layer.id);
	subLayer.style.left= x + 'px';
	subLayer.style.top= y + 'px';
	if (ie || dom) subLayer.style.visibility = 'visible';
	else if (n) eval("document."+subLayer.id+".visibility = 'show'");
}

function hide(layerId) {
	document.getElementById(layerId).style.visibility='hidden';
}

function hideSubs(){
 if (!onSubMenu) {
	for (foo = 0; foo < 4; foo++) {
		if (menus['menuDiv' + foo]) hide('submenuDiv' + foo);
	}
 }
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

var clipTop = 0;
var clipWidth = 300;
var clipBottom = 200;
var topper;
var lyrheight = 0;
var time,amount,theTime,theHeight,DHTML;

function prepLyr()
{
	DHTML = (document.getElementById || document.all || document.layers)
	if (!DHTML) return;
	var x = new getObj('newsLayer');
	if (document.layers)
	{
		lyrheight = x.style.clip.bottom;
		lyrheight += 20;
		x.style.clip.top = clipTop;
		x.style.clip.left = 0;
		x.style.clip.right = clipWidth;
		x.style.clip.bottom = clipBottom;
	}
	else if (document.getElementById || document.all)
	{
		topper = document.getElementById('newsLayer').offsetTop;
		lyrheight = x.obj.offsetHeight;
		x.style.clip = 'rect('+clipTop+' '+clipWidth+' '+clipBottom+' 0)'
	}
}


function scrollayer(layername,amt,tim)
{
	if (lyrheight == 0) prepLyr();
	if (!DHTML) return;
	thelayer = new getObj(layername);
	if (!thelayer) return;
	amount = amt;
	theTime = tim;
	realscroll();
}

function realscroll()
{
	if (!DHTML) return;
	clipTop += amount;
	clipBottom += amount;
	topper -= amount;
	if (clipTop < 0 || clipBottom > lyrheight)
	{
		clipTop -= amount;
		clipBottom -= amount;
		topper += amount;
		return;
	}
	if (document.getElementById || document.all)
	{
		clipstring = 'rect('+clipTop+' '+clipWidth+' '+clipBottom+' 0)'
		thelayer.style.clip = clipstring;
		thelayer.style.top = topper;
	}
	else if (document.layers)
	{
		thelayer.style.clip.top = clipTop;
		thelayer.style.clip.bottom = clipBottom;
		thelayer.style.top = topper;
	}
	time = setTimeout('realscroll()',theTime);
}

function stopScroll()
{
	if (time) clearTimeout(time);
}

/*****************************************************************
 
        show and hide layers

****************************************************************/
n = (document.layers)? true: false;
ie = (document.all)? true: false;
dom = ((document.getElementById) && (!ie))? true: false;

function hide(name) {
    if (ie) document.all[name].style.visibility = 'hidden';
    else if (dom) document.getElementById(name).style.visibility = 'hidden';
    else if (n) eval("document." + name + ".visibility = 'hide'");
}

function show(name) {
    if (ie) document.all[name].style.visibility = 'visible';
    else if (dom) document.getElementById(name).style.visibility = 'visible';
    else if (n) eval("document." + name + ".visibility = 'visible'");
}

function getElement(name) {
    if (ie) return document.all[name];
    else if (dom) return document.getElementById(name);
    else if (n) return eval("document." + name);
}

function getField(form, name, otherName) {
    var field;

    if (typeof form.elements[name] == 'undefined') {
        field = eval('form.elements["' + otherName + '"]');
    } else {
        field = eval('form.elements["' + name + '"]');
    }    
    return field;
}

function setValue(url, keyvalue, namevalue, documenttypekey, keyfield, description, filter, dockey){
    openLookupWin(url, keyvalue, namevalue, keyfield, description, documenttypekey, "", "", filter, "false", "", "", dockey);
}

function setValueAutomatic(url, keyvalue, namevalue, documenttypekey, keyfield, description, searchfield, searchtext, filter, dockey){
    var form = document.info;
    var searchTextField = getField(form, searchtext, "fn_" + dockey + "_" + searchtext);
    var nameValueField = getField(form, namevalue, "fn_" + dockey + "_" + namevalue);

    if (nameValueField.value != "") {
        openLookupWin(url, keyvalue, namevalue, keyfield, description, documenttypekey, "", "", filter, "true", searchfield, searchTextField.value, dockey);
    } else {
        var keyValueField = getField(form, keyvalue, "fn_" + dockey + "_" + keyvalue);
        eval('form.elements["' + keyValueField.name + '"].value=""');
    }
}

function setMasterValue(url, keyvalue, namevalue, documenttypekey, keyfield, description, master, mastervalue, masterCaption, filter, dockey){
    var form = document.info;
    
    var masterField = getField(form, master, "fn_" + dockey + "_" + master);
    var masterValueField = getField(form, mastervalue, "fn_" + dockey + "_" + mastervalue);

    if (masterField.value == "") {
        alert(masterCaption + " debe tener un valor");
    } else {
	openLookupWin(url, keyvalue, namevalue, keyfield, description, documenttypekey, master, masterValueField.value, filter, "false", "", "", dockey);
    }
}

function setMasterValueAutomatic(url, keyvalue, namevalue, documenttypekey, keyfield, description, master, mastervalue, masterCaption, searchfield, searchtext, filter, dockey){
    var form = document.info;
    var nameValueField = getField(form, namevalue, "fn_" + dockey + "_" + namevalue);
    var masterField = getField(form, master, "fn_" + dockey + "_" + master);
    var masterValueField = getField(form, mastervalue, "fn_" + dockey + "_" + mastervalue);
    var searchTextField = getField(form, searchtext, "fn_" + dockey + "_" + searchtext);

    if (masterField.value == "") {
        alert(masterCaption + " should have a value");
    }
    if (nameValueField.value != "") {
        openLookupWin(url, keyvalue, namevalue, keyfield, description, documenttypekey, master, masterValueField.value, filter, "true", searchfield, searchTextField.value, dockey);
    } else {
        var keyValueField = getField(form, keyvalue, "fn_" + dockey + "_" + keyvalue);
        eval('form.elements["' + keyValueField.name + '"].value=""');
    }
}

function openLookupWin(url, keyvalue, namevalue, keyfield, description, documenttypekey, master, mastervalue, filter, search, searchfield, searchtext, dockey) {
	//"../servlet/ServletHandler?handler=com.eos.workflow.client.handler.GenericLookup"
	chatNewWin(url
		+ "&keyvalue=" + keyvalue 
		+ "&namevalue=" + namevalue 
		+ "&keyfield=" + keyfield
		+ "&description=" + description 
		+ "&documenttypekey=" + documenttypekey 
		+ "&master=" + master 
		+ "&mastervalue=" + mastervalue
		+ "&filter=" + filter 
		+ "&search=" + search
		+ "&searchfield=" + searchfield 
		+ "&searchtext=" + searchtext
		+ "&dockey=" + dockey
	, "lookupwin" + dockey, 600, 600);
}

function cleanLookup(valueField) {
	valueField.value = "";
}

function winPopup(url, w, h){
	var xpos = (screen.width-w)/2;
 	var ypos = (screen.height-h)/2;
 	windowprops = "width=" + w + ",height=" + h + ",top=" + ypos + ",left=" + xpos;
 	window.open(url, "Alert", windowprops);
}

function openFile(secure, url){


var urlFinal = "";

	var user = "ftpcompac1";
	var pwd = "Cac840428";
	//var server = "208.109.232.131";
	var server = "72.18.203.140";
	var unitdisk = "evaluacion";


	var user2 = "ftpcompac1%40ftpcompac.com";
	var pwd2 = "12abzf";
	var server2 = "67.15.250.9";

	//var user3 = "evaluacion";
	//var pwd3 = "Cac840428";
	//var server3 = "ftp.compac.com.mx";


	var user3 = "ftpcompac1";
	var pwd3 = "Cac840428";
	var server3 = "69.10.137.160";
	var unitdisk3 = "evaluacion";

	var user4 = "ftpcompac1";
	var pwd4 = "Cac840428";
	var server4 = "69.10.137.160";
	var unitdisk4 = "evaluacion";

	var a = "@";	
	var slash = "/";
	var dots = ":";
	var ftp = "ftp://";

	var iszip = 0;	
	var isexe = 0;
	var iscontpaqi =0;	

	if(secure=="0") 
		urlFinal = url;	
	else if(secure=="1") 
		urlFinal = ftp + user + dots + pwd + a + server + slash +unitdisk  + slash + url;
		//urlFinal = ftp + user + dots + pwd + a + server + slash + url;
		else if(secure=="2") 
			urlFinal = ftp + user2 + dots + pwd2 + a + server2 + slash + url;
				else if(secure=="3") 
					//urlFinal = ftp + user3 + dots + pwd3 + a + server3 + slash + url;
					urlFinal = ftp + user3 + dots + pwd3 + a + server3 + slash +unitdisk3  + slash + url;
						else if(secure=="4") 
							urlFinal = ftp + user4 + dots + pwd4 + a + server4 + slash +unitdisk4  + slash + url;
	
	iszip = urlFinal.indexOf(".zip");
	isexe = urlFinal.indexOf(".exe");
	isexe = urlFinal.indexOf("CON");

	if(iszip != -1 || isexe != -1){
		sendRedirect(urlFinal);					
	}else {
		openWindowFile(urlFinal, "Descarga");
	}	


}


function openWindowFile(filename, winname){
    var w =  800;
    var h = 600;
    var xpos = (screen.width-800)/2;
    var ypos = (screen.height-600)/2;
    properties = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + w + ",height=" + h + ",top=" + ypos + ",left=" + xpos;  
    window.open(filename, winname, properties);
}

