//////////////////////////////////////////////////////////////////////////////
// <script language="JavaScript1.2" src="include/js/functions.js"></script> //
//////////////////////////////////////////////////////////////////////////////
/* Remove space before and after a string, work just like trim in VBS */
function trim(a)
{
	return a.replace(/^\s+/,'').replace(/\s+$/,'')
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

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_jumpMenu(targ,selObj,restore){ //v3.0
	if (selObj.selectedIndex != 0)
	{
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
	}
}

function CreateObjectAjax()
	{
		var xmlhttp=false;
		try
		{
		  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
			  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (E)
			{
			  xmlhttp = false;
			}
			}
		 
			if (!xmlhttp && typeof XMLHttpRequest!='undefined')
			{
			  xmlhttp = new XMLHttpRequest();
			}
		return xmlhttp;
	}

function fnt_InNumber(expression){
    return /^[0-9]+$/i.test(expression);
}

function fnt_IsDecimal(expression)   
{   
    return /^\d+(\.\d+)?$/.test(expression);
}  

function fnt_IsAphaNumeric(expression){
   return /^[a-zA-Z0-9 \ñ\Ñ'\\1']+$/i.test(expression);
}

function fnt_IsStreetAdress(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^[a-zA-Z 0-9\.\-\#\,\_9\ñ\Ñ'\\1']+$/i.test(expression)
}

function fnt_IsAlphaString(expression){
   // return (String(expression).search(/^[a-z ]+$/i))
	return /^[a-zA-Z \ñ\Ñ'\\1']+$/i.test(expression);
}

function fnt_IsEmail(expression){
	return /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/.test(expression);
}

function fnt_isPhone(expression){
	//return /([\(\+])?([0-9]{1,3}([\s])?)?([\+|\(|\-|\)|\s])?([0-9]{2,4})([\-|\)|\.|\s]([\s])?)?([0-9]{2,4})?([\.|\-|\s])?([0-9]{4,8})/.test(expression);
	//return /^[0-9]{2,3}-? ?[0-9]{6,7}$/i.test(expression);
	//return /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/i.test(expression);
	//return /^(\()?([0-9][0-9][0-9]|[0-9][0-9][0-9])(\)|-)?([0-9]{3})(-)?([0-9]{4}|[0-9]{4})$/.test(expression);
	//esta funcion valida fax y telefonos
	 if(expression.length<6 || expression.length>15){
		return false;
 	  }

	  var _intPos=0; var _strChart;
	  var intLength=expression.length;
	  var strNumbers = "0123456789-()+";
	  for(var _x=1;_x<=intLength;_x++){
		_strChart = expression.substr(_x,1);
		_intPos = strNumbers.indexOf(_strChart);
		if(_intPos==-1){
			return false
		}
	  }
	  return true
}

function fnt_isFax(expression){
  if(expression.length<6){
	return false;
 }

  var _intPos=0; var _strChart;
  var intLength=expression.length;
  var strNumbers = "0123456789-";
  for(var _x=1;_x<=intLength;_x++){
	_strChart = expression.substr(_x,1);
	_intPos = strNumbers.indexOf(_strChart);
	if(_intPos==-1){
		return false
	}
  }
  return true
}

function fnt_City(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^[a-zA-Z 0-9\.\-\#\,\_\ñ\Ñ]+$/i.test(expression);
}

/*function fnt_zipcode(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/i.test(expression);
}

function fnt_zipcodeUSA(expression){
  return /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/i.test(expression);
}
*/
function fnt_zipcodeCAN(expression){
 if(expression.length<4){
	return false;
 }
  var _intPos=0; 
  var _strChart;
  var intLength=expression.length;
  var strLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //falta la Ñ
  strLetters = strLetters + strLetters.toLowerCase();
  strLetters = strLetters + "0123456789- ";
  for(var _x=1;_x<=intLength;_x++){
	_strChart = expression.substr(_x,1);
	_intPos = strLetters.indexOf(_strChart);
	if(_intPos==-1){
		return false;
	}
  }
  return true;
}

function fnt_password(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	
	if(/^[a-zA-Z0-9]+$/i.test(expression)){
		if(expression.length<6){
			return false;
		}else{
			return true;	
		}
	}else{
		return false;
	}
}

function fnt_fax(expression){
	return /^[a-zA-Z 0-9\.\-\#\,\_]+$/i.test(expression);
}

function fnt_url(expression){
	return /((www|http)(\W+\S+[^).,:;?\]\} \r\n$]+))/.test(expression);
}


function fnt_IsCompany(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^[a-zA-Z 0-9\.\-\#\,\_\&\^\*'\\1'\ñ\Ñ]+$/i.test(expression)
}

function fnt_IsBussines(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^[a-zA-Z 0-9\.\-\#\,\_\&\^\*'\\1'\ñ\Ñ]+$/i.test(expression)
}

function fnt_IsJobtitle(expression){
    //return (String(expression).search(/^[a-z 0-9\.\-\#\,\_]+$/i))
	return /^[a-zA-Z 0-9\.\-\#\,\_\&\^\*'\\1'\ñ\Ñ]+$/i.test(expression)
}

//antispam
function AntiSpambotMailto(codelist, description, atagattr) {
	var thiscode, thischar;
	var CodeString = new String(codelist);
	var CodedArray = CodeString.split('|');
	var L = CodedArray.length;
	var AddrDecoded = "";
	for (var x=0; x < L; x++) {
		thiscode = CodedArray[x];
		thischar = String.fromCharCode( thiscode - L );
		AddrDecoded += thischar;
	}
	atagattr = atagattr ? ' ' + atagattr : '';
	if (!description) description = AddrDecoded; // if no description supplied, display email address
	var strOutput = '<a href="mailto:'+AddrDecoded+'"' + atagattr+'>' + description + '</a>';
	document.write(strOutput);
}


function resize_div(objResize,intState1){
	if(intState1==1){
		document.getElementById(objResize).style.display="block";
		document.getElementById(objResize).style.top = (parseInt(document.documentElement.scrollTop) + parseInt(screen.availHeight)) - ((parseInt(screen.availHeight) / 2) + parseInt(document.getElementById(objResize).clientHeight)) + 'px';
		document.getElementById(objResize).style.left = (parseInt(screen.availWidth) / 2) - (parseInt(document.getElementById(objResize).clientWidth) / 2) + 'px';
	}else{
		document.getElementById(objResize).style.display="none";
	}
}
var contBlurOut=30;
var contBlurIn=0;
var IntervalBlur;

function resize_div_resume(objResize,intState1){
	if(intState1==1){
		document.getElementById(objResize).style.display="block";
		document.getElementById(objResize).style.top = (parseInt(document.documentElement.scrollTop) + parseInt(screen.availHeight)) - ((parseInt(screen.availHeight) / 2) + parseInt(document.getElementById(objResize).clientHeight)) + 'px';
		document.getElementById(objResize).style.left = (parseInt(screen.availWidth) / 2) - (parseInt(document.getElementById(objResize).clientWidth) / 2) + 'px';
	}else{
		document.getElementById(objResize).style.display="none";
	}
}

function bgBlur_resume(objBlur,intState){
	
	if(intState==1){
		document.getElementById(objBlur).style.height=parseInt(document.body.clientHeight) + 'px';
		document.getElementById(objBlur).style.display = 'block';
	}else{
		document.getElementById(objBlur).style.height=parseInt(document.body.clientHeight) + 'px';
		document.getElementById(objBlur).style.display = 'none';
	}
	
	/*window.pageYOffset
	document.body.clientHeight*/
	// screen.availWidth .- permite saber el alto de la pantalla de window sin escroll
	// document.body.clientHeight . - permite saber el ancho del scroll del documento con todo  su scroll
    // window.pageYOffset .- permite saber la posicion del scroll 

}


function bgBlur(objBlur,intState){
	
	if(intState==1){
		document.getElementById(objBlur).style.height=parseInt(document.body.clientHeight) + 'px';
		document.getElementById(objBlur).style.display = 'block';
		contBlurIn = contBlurIn + 1;
		if(contBlurIn>=30){
			contBlurIn=0;
			clearTimeout(IntervalBlur);			
			return false;
		}
		set_opacity(objBlur, contBlurIn);
		IntervalBlur = setTimeout("bgBlur(\'" + objBlur + "\'," + intState + ")",2);
	}else{
		contBlurOut = contBlurOut - 3;
		if(contBlurOut<=0){
			contBlurOut=30;
			clearTimeout(IntervalBlur);
			document.getElementById(objBlur).style.display = 'none';
			return false;
		}
		set_opacity(objBlur, contBlurOut);
		IntervalBlur = setTimeout("bgBlur(\'" + objBlur + "\'," + intState + ")",2);
	}
	
	/*window.pageYOffset
	document.body.clientHeight*/
	// screen.availWidth .- permite saber el alto de la pantalla de window sin escroll
	// document.body.clientHeight . - permite saber el ancho del scroll del documento con todo  su scroll
    // window.pageYOffset .- permite saber la posicion del scroll 

}

function set_opacity(div, value) {  
	value = value / 100;
    document.getElementById(div).style.opacity = value; 
    document.getElementById(div).style.MozOpacity = value; 
    document.getElementById(div).style.KhtmlOpacity = value; 
    document.getElementById(div).style.filter = 'alpha(opacity=' + value*100 + ')'; 
    document.getElementById(div).style.zoom=1;//necesario para Explorer 
} 

var _CountPosi = 0;
var _TempDiv;
function Mouse_Position_div(event,id_layer){
		var IE = document.all?true:false;
		var tempX = 0;
		var tempY = 0;
		var margin=7;
		if(IE){
			tempX = event.x;
			tempY = event.y;
			
			if(window.pageYOffset){
				tempX = tempX + window.pageYOffset;
				tempY = tempY + window.pageXOffset;
			}else{
				tempX = tempX + Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
				tempY = tempY + Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	
			}
		}else{
			document.captureEvents(Event.MOUSEMOVE);
			tempX = event.pageX;
			tempY = event.pageY;
		}
		
		if(tempX<0){tempX=0}
		if(tempY<0){tempY=0}
		document.getElementById(id_layer).style.top = (tempY+margin)+"px";
		document.getElementById(id_layer).style.left = (tempX+margin)+"px";
		document.getElementById(id_layer).style.visibility="visible";

}



function Mouse_Position_div_out(id_layer){
	document.getElementById(id_layer).style.visibility = "hidden";
}

function capture_key(oKey,_object){
	if(oKey.keyCode == 8){
		DeleteNumber(_object);
	}
}

function DeleteNumber(_object){
	var _strVal = document.getElementById(_object).value;
	var _intNum = "0123456789";var strNumbers=''; var strChar='';
	for(var x=0;x < _strVal.length ;x++){
		strChar = _strVal.substr(x,1);
		if(_intNum.indexOf(strChar)!=-1){
			strNumbers = strNumbers + strChar
		}
	}
	
	if(strNumbers.length>0){
		strNumbers = strNumbers.substr(0,strNumbers.length)
		document.getElementById(_object).value = strNumbers
	}
}

function formatNumber(_object){
	var _strVal = document.getElementById(_object).value;
	var _intNum = "0123456789";var strNumbers=''; var strChar='';
	for(var x=0;x < _strVal.length ;x++){
		strChar = _strVal.substr(x,1);
		if(_intNum.indexOf(strChar)!=-1){
			strNumbers = strNumbers + strChar
		}
	}
	 
	var strValue='';
	strChar = "###";
	if(strNumbers.length<3 && strNumbers.length>0){
		strValue = "(";
		strValue = strValue + strNumbers
	}else{
		if(strNumbers.length>=3){
			strValue = "(";
			strValue = strValue + strNumbers.substr(0,3);		
			strValue = strValue + ") (";
		}
	}
	
	if(strNumbers.length>3 && strNumbers.length<11){

		strValue = strValue + strNumbers.substr(3,6);
	}
	if(strNumbers.length==9){
		strValue = strValue + ")";
	}
	document.getElementById(_object).value = strValue  ;
	document.getElementById(_object).focus();
	//alert(strValue);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
///Script para la validacion del formulario de pixelima												/////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//refrescar la imagen 
	function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}

//validar el formulario
	function validation(){
		var _objtxt = document.getElementById("txnombre");
		var _objlbl = document.getElementById("lblnombre");		
		var state = true;
		if(! trim(_objtxt.value)){
			_objtxt.className='LV_invalid_field';
			_objlbl.className='LV_invalid';
			_objlbl.innerHTML = 'Ingrese su nombre';
			state = false
		}else{
			if(! fnt_IsAlphaString(_objtxt.value)){
				_objtxt.className='LV_invalid_field';
				_objlbl.className='LV_Invalid';
				_objlbl.innerHTML = 'Ingrese su nombre';
				state = false
			}else{
				_objtxt.className='LV_valid_field';
				_objlbl.className='LV_valid';
				_objlbl.innerHTML = 'Ok';					
			}
		}
		
		_objtxt = document.getElementById("txemail");
		_objlbl = document.getElementById("lblemail");
		if(! trim(_objtxt.value)){
			_objtxt.className='LV_invalid_field';
			_objlbl.className='LV_invalid';
			_objlbl.innerHTML = 'Ingrese su Email';
			state = false
		}else{
			if(! fnt_IsEmail(_objtxt.value)){
				_objtxt.className='LV_invalid_field';
				_objlbl.className='LV_invalid';
				_objlbl.innerHTML = 'Ingrese su Email';
				state = false
			}else{
				_objtxt.className='LV_valid_field';
				_objlbl.className='LV_valid';
				_objlbl.innerHTML = 'Ok';				
			}
		}
		
		_objtxt = document.getElementById("txtelefono");
		_objlbl = document.getElementById("lbltelefono");
		if(! trim(_objtxt.value)){
			_objtxt.className='LV_invalid_field';
			_objlbl.className='LV_invalid';
			_objlbl.innerHTML = 'Ingrese su Teléfono';
			state = false
		}else{
			if(! fnt_isPhone(_objtxt.value)){
				_objtxt.className='LV_invalid_field';
				_objlbl.className='LV_invalid';
				_objlbl.innerHTML = 'Ingrese su Teléfono';
				state = false
			}else{
				_objtxt.className='LV_valid_field';
				_objlbl.className='LV_valid';
				_objlbl.innerHTML = 'Ok';				
			}
		}
		
		_objtxt = document.getElementById("txmensaje");
		_objlbl = document.getElementById("lblmensaje");
		if(! trim(_objtxt.value)){
			_objtxt.className='LV_invalid_field';
			_objlbl.className='LV_invalid';
			_objlbl.innerHTML = 'Ingrese su mensaje';
			state = false
		}else{	
			_objtxt.className='LV_valid_field';
			_objlbl.className='LV_valid';
			_objlbl.innerHTML = 'Ok';				
		}
		
		_objtxt = document.getElementById("txtcaptcha");
		_objlbl = document.getElementById("lblcaptcha");
		if(! trim(_objtxt.value) || _objtxt.value.length<6){
			_objtxt.className='LV_invalid_field';
			_objlbl.className='LV_invalid';
			_objlbl.innerHTML = 'Ingrese los caracteres de la imagen';
			state = false
		}else{	
			_objtxt.className='LV_valid_field';
			_objlbl.className='LV_valid';
			_objlbl.innerHTML = 'Ok';				
		}
		
		if(state){
			document.frmsend.submit()
		}
	}
	
	
	////
	function validarLetras(e) { // 1
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; 
    patron =/[A-Za-z\s]/; 
	
    te = String.fromCharCode(tecla); 
	
    return patron.test(te); 
	} 


	///envia datos al archivo verificadominio.asp
	function imprimir(){
		var nombre=document.getElementById('nombre').value;
		var parametro=document.getElementById('dominio').value;
		
			if(nombre==""){
				
				document.getElementById('mensaje').innerHTML = "Ingrese referencia del dominio";
			}else{
				var ajax=CreateObjectAjax();
	 
	  			ajax.open("get", 'http://www.pixelima.com/verficadominio.asp?nombre=' + nombre + '&dominio=' + parametro,true);
	
	   
	  			ajax.onreadystatechange=function()
				{
	    			if (ajax.readyState==4) // Readystate 4 cargado
	    			{
	      				document.getElementById("mensaje").innerHTML = ajax.responseText;
	    			}
	  		
				}
	
				ajax.send(null)
		}
	}//funcion 
	
	//function para enfocar el txnombre del formulario para contacto
	function setFocus(){
			document.frmsend.txnombre.focus();
		}
	
	

	
	
	
                                                                                                     
