function chkNumOnly(e)
{
	switch (e.keyCode)
	{
		case 8:
		case 9:
		case 16:
		case 38:
		case 36:
		case 46:
		case 48:
		case 49:
		case 50:
		case 51:
		case 52:
		case 53:
		case 54:
		case 55:
		case 56:
		case 57:
		case 96:
		case 97:
		case 98:
		case 99:
		case 100:
		case 101:
		case 102:
		case 103:
		case 104:
		case 105:
		case 190: //Punto decimal
		case 110: //Punto decimal
		case 188: //Comma decimal
		case 37: // Left
		case 39: //Right
			return true;
	}
	return false;
}

var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";
var isShowRep = false;
function JSFX_FloatDiv(id, sx, sy)
{
	var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
	window[id + "_obj"] = el;
	if(d.layers)el.style=el;
	el.cx = el.sx = sx;el.cy = el.sy = sy;
	el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
	el.flt=function()
	{
		var pX, pY;
		pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
		document.documentElement && document.documentElement.clientWidth ? 
		document.documentElement.clientWidth : document.body.clientWidth;
		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
		document.documentElement.scrollTop : document.body.scrollTop;
		if(this.sy<0) 
		pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
		document.documentElement.clientHeight : document.body.clientHeight;
		this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;

		this.sP(this.sx, this.cy);
		setTimeout(this.id + "_obj.flt()", 40);
	}
	return el;
}

function setImgScroll()
{
	document.getElementById('bannerImg').style.top = bannerTop + $(document).scrollTop();
	setTimeout('setImgScroll();', 40);
}

function chkMax(e, f, m)
{
	if(f.value.length == m && (e.keyCode != 8 && e.keyCode != 9 && e.keyCode != 35 && e.keyCode != 36 && e.keyCode != 37 
	&& e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40 && e.keyCode != 46 && e.keyCode != 16))
	{
		window.status = "El campo tiene un máximo de " + m + " caracteres.";
		setTimeout("clear()",3000) 
		return false;
	}
	else { return true; }
}

function clear () { 
window.status= ""; 
} 

var OpenWin;
function chkWin()
{
	if (OpenWin != null) if (!OpenWin.Closed) OpenWin.focus();
}
function clearOpenWin() { OpenWin = null; }

function showBannerForm(id, desc)
{
	var myBannerForm = document.all ? document.all.item('dvBannerForm') : document.getElementById('dvBannerForm');
	if (!myBannerForm)
	{
		$.post("http://www.topmanage.com.pa/banner/bannerCompanies.asp", { },
	   function(data){
	     createBannerForm(id, desc, data);
	   });
	}
	else
	{
		myBannerForm.style.display = '';
		$('#banEMail').focus();
	}
}
function createBannerForm(id, desc, data)
{
	var mySpace = document.all ? document.all.item('space') : document.getElementById('space');
	var newForm = '<div id="dvBannerForm" class="BannerForm">' +  
			'<table cellpadding="0" style="width: 100%;">' +  
			'				<caption class="BannerCaption">' + txtRegisterTo.replace('{0}', desc) + '</caption>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtEMail + ' <span class="BannerReq" id="reqEMail" style="display: none;">*</span></td>' +  
			'								<td>' +  
			'								<input type="text" maxlength="100" id="banEMail" size="60" onchange="setBannerReq(\'EMail\');" onkeydown="doExecSendBanner(event);"><span class="BannerReq" id="reqEMailVal" style="display: none;"><br>' + txtWrongEMail + '</span><span class="BannerReq" id="reqEMailUsed" style="display: none;"><br>' + txtEMailRegister + '</span></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtFullName + ' <span class="BannerReq" id="reqFullName" style="display: none;">*</span></td>' +  
			'								<td>' +  
			'								<input type="text" maxlength="50" id="banFullName" size="50" onchange="setBannerReq(\'FullName\');" onkeydown="doExecSendBanner(event);"></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtCmp + ' <span class="BannerReq" id="reqCompany" style="display: none;">*</span></td>' +  
			'								<td>' +  
			'								<input type="text" maxlength="100" id="banCompany" size="60" onchange="setBannerReq(\'Company\');" onkeydown="doExecSendBanner(event);"></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtCmpType + ' <span class="BannerReq" id="reqCmpType" style="display: none;">*</span></td>' +  
			'								<td><select size="1" id="banCmpType" onchange="setBannerReq(\'CmpType\');"><option></option>' +  
			'								</select></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtPosition + ' <span class="BannerReq" id="reqPosition" style="display: none;">*</span></td>' +  
			'								<td>' +  
			'								<input type="text" maxlength="100" id="banPosition" size="50" onchange="setBannerReq(\'Position\');" onkeydown="doExecSendBanner(event);"></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtContactPhone + ' <span class="BannerReq" id="reqPhone" style="display: none;">*</span></td>' +  
			'								<td>' +  
			'								<input type="text" maxlength="50" id="banPhone" size="20" onchange="setBannerReq(\'Phone\');" onkeydown="doExecSendBanner(event);"></td>' +  
			'				</tr>' +  
			'				<tr class="BannerFormField">' +  
			'								<td>' + txtComments + '</td>' +  
			'								<td>' +  
			'								<textarea rows="2" id="banComment" cols="40"></textarea></td>' +  
			'				</tr>' +  
			'				<tr>' +  
			'								<td colspan="2">' +  
			'								<table style="width: 100%; ">' +  
			'												<tr>' +  
			'																<td style="width: 50%"><div class="BannerFormButton" onclick="sendBannerForm();">' + txtSend + '</div></td>' +  
			'																<td style="width: 50%" style="text-align: right;"><div class="BannerFormButton" onclick="cancelBannerForm();">' + txtCancel + '</div></td>' +  
			'												</tr>' +  
			'								</table>' +  
			'								</td>' +  
			'				</tr>' +  
			'</table>' +  
			'</div>';
	space.innerHTML += newForm;
	var cmpType = document.all ? document.all.item('banCmpType') : document.getElementById('banCmpType');
	var arrData = data.split('{S}');
	for (var i = 0;i<arrData.length;i++)
	{
		var arrLine = arrData[i].split('{C}');
		
		var opt = document.createElement('option');
		opt.value = arrLine[0];
		opt.text = arrLine[1];
		cmpType.options.add(opt);
	}
	myBannerForm = document.all ? document.all.item('dvBannerForm') : document.getElementById('dvBannerForm');
	var offset = $('#bannerImg').offset();
	myBannerForm.style.top = offset.top + 100;
	myBannerForm.style.left = offset.left - 500;
	$('#banEMail').focus();
}
function doExecSendBanner(e)
{
	switch (e.keyCode)
	{
		case 13:
			sendBannerForm();
			break;
		case 27:
			cancelBannerForm();
			break;
	}
}
function cancelBannerForm()
{
	var myBannerForm = document.all ? document.all.item('dvBannerForm') : document.getElementById('dvBannerForm');
	myBannerForm.style.display = 'none';
	
	if (document.all)
	{
		document.all.item('banEMail').value = '';
		document.all.item('reqEMailVal').style.display = 'none';
		document.all.item('banFullName').value = '';
		document.all.item('banCompany').value = '';
		document.all.item('banCmpType').selectedIndex = 0;
		document.all.item('banPosition').value = '';
		document.all.item('banPhone').value = '';
		document.all.item('banComment').value = '';
	}
	else
	{
		document.getElementById('banEMail').value = '';
		document.getElementById('reqEMailVal').style.display = 'none';
		document.getElementById('banFullName').value = '';
		document.getElementById('banCompany').value = '';
		document.getElementById('banCmpType').selectedIndex = 0;
		document.getElementById('banPosition').value = '';
		document.getElementById('banPhone').value = '';
		document.getElementById('banComment').value = '';
	}
}
function sendBannerForm()
{
	var myFields = new Array('EMail', 'FullName', 'Company', 'CmpType', 'Position', 'Phone');
	var err = false;
	var fldFocus = null;
	for (var i = 0;i<myFields.length;i++)
	{
		var fld = document.all ? document.all.item('ban' + myFields[i]) : document.getElementById('ban' + myFields[i]);
		var req = document.all ? document.all.item('req' + myFields[i]) : document.getElementById('req' + myFields[i]);

		if (fld.value == '')
		{
			req.style.display = '';
			err = true;
			if (fldFocus == null) fldFocus = fld;
		}
		else
		{
			if (myFields[i] != 'EMail')
			{
				req.style.display = 'none';
			}
			else
			{
				req.style.display = 'none';
				var emailVal = document.all ? document.all.item('reqEMailVal') : document.getElementById('reqEMailVal');
				var emailUsed = document.all ? document.all.item('reqEMailUsed') : document.getElementById('reqEMailUsed');
				
				if (emailVal.style.display == '' || emailUsed.style.display == '')
				{
			     	err = true;
			     	if (fldFocus == null) fldFocus = fld;
				}
			}
		}
	}
	if (!err)
	{
		var eMail;
		var fullName;
		var cmpName;
		var cmpType
		var position;
		var phone;
		var comment;
		
		if (document.all)
		{
			eMail = document.all.item('banEMail').value;
			fullName = document.all.item('banFullName').value;
			cmpName = document.all.item('banCompany').value;
			cmpType = document.all.item('banCmpType').value;
			position = document.all.item('banPosition').value;
			phone = document.all.item('banPhone').value;
			comment = document.all.item('banComment').value;
		}
		else
		{
			eMail = document.getElementById('banEMail').value;
			fullName = document.getElementById('banFullName').value;
			cmpName = document.getElementById('banCompany').value;
			cmpType = document.getElementById('banCmpType').value;
			position = document.getElementById('banPosition').value;
			phone = document.getElementById('banPhone').value;
			comment = document.getElementById('banComment').value;
		}
		$.post("http://www.topmanage.com.pa/banner/bannerFormSubmit.asp", { BannerID: curBannerID, EMail: eMail, FullName: fullName, CmpName: cmpName, CmpType: cmpType, Position: position, Phone: phone, Comment: comment },
	   function(data){
			if (data == 'ok')
			{
				alert(txtBannerOK);
				cancelBannerForm();
			}
	   });
	}
	else
	{
		if (fldFocus != null) fldFocus.focus();
	}
}

function setBannerReq(id)
{
	var req = document.all ? document.all.item('req' + id) : document.getElementById('req' + id);
	req.style.display = 'none';
	
	if (id == 'EMail')
	{
		var fld = document.all ? document.all.item('banEMail') : document.getElementById('banEMail');
		var fldVal = document.all ? document.all.item('reqEMailVal') : document.getElementById('reqEMailVal');
		if (BannerEMailCheck(fld.value))
		{
			fldVal.style.display = 'none';
			$.post("http://www.topmanage.com.pa/banner/bannerCheckMail.asp", { BannerID: curBannerID, EMail: fld.value },
			function(data){
			     if (document.all) document.all.item('reqEMailUsed').style.display = data == '1' ? '' : 'none';
			     else document.getElementById('reqEMailUsed').style.display = data == '1' ? '' : 'none';
			});
		}
		else
		{
			fldVal.style.display = '';
		}
	}
}

function BannerEMailCheck(emailStr) {

var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
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];

for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
		return false;
   }
}
for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
		return false;
   }
}

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 atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
return false;
   }
}


if (len<2) {
return false;
}

return true;
}


