
function LTrim(str){if(str==null){return null;}for(var i=0;str.charAt(i)==" ";i++);return str.substring(i,str.length);}
function RTrim(str){if(str==null){return null;}for(var i=str.length-1;str.charAt(i)==" ";i--);return str.substring(0,i+1);}
function Trim(str){return LTrim(RTrim(str));}
function LTrimAll(str){if(str==null){return str;}for(var i=0;str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t";i++);return str.substring(i,str.length);}
function RTrimAll(str){if(str==null){return str;}for(var i=str.length-1;str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t";i--);return str.substring(0,i+1);}
function TrimAll(str){return LTrimAll(RTrimAll(str));}
function isNull(val){return(val==null);}
function isBlank(val){if(val==null){return true;}for(var i=0;i<val.length;i++){if((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}}return true;}
function isInteger(val){if(isBlank(val)){return false;}for(var i=0;i<val.length;i++){if(!isDigit(val.charAt(i))){return false;}}return true;}
function isNumeric(val){return(parseFloat(val,10)==(val*1));}
function isArray(obj){return(typeof(obj.length)=="undefined")?false:true;}
function isDigit(num){if(num.length>1){return false;}var string="1234567890";if(string.indexOf(num)!=-1){return true;}return false;}
function setNullIfBlank(obj){if(isBlank(obj.value)){obj.value="";}}
function setFieldsToUpperCase(){for(var i=0;i<arguments.length;i++){arguments[i].value = arguments[i].value.toUpperCase();}}
function disallowBlank(obj){var msg=(arguments.length>1)?arguments[1]:"";var dofocus=(arguments.length>2)?arguments[2]:false;if(isBlank(getInputValue(obj))){if(!isBlank(msg)){alert(msg);}if(dofocus){if(isArray(obj) &&(typeof(obj.type)=="undefined")){obj=obj[0];}if(obj.type=="text"||obj.type=="textarea"||obj.type=="password"){obj.select();}obj.focus();}return true;}return false;}
function disallowModify(obj){var msg=(arguments.length>1)?arguments[1]:"";var dofocus=(arguments.length>2)?arguments[2]:false;if(getInputValue(obj)!=getInputDefaultValue(obj)){if(!isBlank(msg)){alert(msg);}if(dofocus){if(isArray(obj) &&(typeof(obj.type)=="undefined")){obj=obj[0];}if(obj.type=="text"||obj.type=="textarea"||obj.type=="password"){obj.select();}obj.focus();}setInputValue(obj,getInputDefaultValue(obj));return true;}return false;}
function commifyArray(obj,delimiter){if(typeof(delimiter)=="undefined" || delimiter==null){delimiter = ",";}var s="";if(obj==null||obj.length<=0){return s;}for(var i=0;i<obj.length;i++){s=s+((s=="")?"":delimiter)+obj[i].toString();}return s;}
function getSingleInputValue(obj,use_default,delimiter){switch(obj.type){case 'radio': case 'checkbox': return(((use_default)?obj.defaultChecked:obj.checked)?obj.value:null);case 'text': case 'hidden': case 'textarea': return(use_default)?obj.defaultValue:obj.value;case 'password': return((use_default)?null:obj.value);case 'select-one':
if(obj.options==null){return null;}if(use_default){var o=obj.options;for(var i=0;i<o.length;i++){if(o[i].defaultSelected){return o[i].value;}}return o[0].value;}if(obj.selectedIndex<0){return null;}return(obj.options.length>0)?obj.options[obj.selectedIndex].value:null;case 'select-multiple':
if(obj.options==null){return null;}var values=new Array();for(var i=0;i<obj.options.length;i++){if((use_default&&obj.options[i].defaultSelected)||(!use_default&&obj.options[i].selected)){values[values.length]=obj.options[i].value;}}return(values.length==0)?null:commifyArray(values,delimiter);}alert("FATAL ERROR: Field type "+obj.type+" is not supported for this function");return null;}
function getSingleInputText(obj,use_default,delimiter){switch(obj.type){case 'radio': case 'checkbox': 	return "";case 'text': case 'hidden': case 'textarea': return(use_default)?obj.defaultValue:obj.value;case 'password': return((use_default)?null:obj.value);case 'select-one':
if(obj.options==null){return null;}if(use_default){var o=obj.options;for(var i=0;i<o.length;i++){if(o[i].defaultSelected){return o[i].text;}}return o[0].text;}if(obj.selectedIndex<0){return null;}return(obj.options.length>0)?obj.options[obj.selectedIndex].text:null;case 'select-multiple':
if(obj.options==null){return null;}var values=new Array();for(var i=0;i<obj.options.length;i++){if((use_default&&obj.options[i].defaultSelected)||(!use_default&&obj.options[i].selected)){values[values.length]=obj.options[i].text;}}return(values.length==0)?null:commifyArray(values,delimiter);}alert("FATAL ERROR: Field type "+obj.type+" is not supported for this function");return null;}
function setSingleInputValue(obj,value){switch(obj.type){case 'radio': case 'checkbox': if(obj.value==value){obj.checked=true;return true;}else{obj.checked=false;return false;}case 'text': case 'hidden': case 'textarea': case 'password': obj.value=value;return true;case 'select-one': case 'select-multiple':
var o=obj.options;for(var i=0;i<o.length;i++){if(o[i].value==value){o[i].selected=true;}else{o[i].selected=false;}}return true;}alert("FATAL ERROR: Field type "+obj.type+" is not supported for this function");return false;}
function getInputValue(obj,delimiter){var use_default=(arguments.length>2)?arguments[2]:false;if(isArray(obj) &&(typeof(obj.type)=="undefined")){var values=new Array();for(var i=0;i<obj.length;i++){var v=getSingleInputValue(obj[i],use_default,delimiter);if(v!=null){values[values.length]=v;}}return commifyArray(values,delimiter);}return getSingleInputValue(obj,use_default,delimiter);}
function getInputText(obj,delimiter){var use_default=(arguments.length>2)?arguments[2]:false;if(isArray(obj) &&(typeof(obj.type)=="undefined")){var values=new Array();for(var i=0;i<obj.length;i++){var v=getSingleInputText(obj[i],use_default,delimiter);if(v!=null){values[values.length]=v;}}return commifyArray(values,delimiter);}return getSingleInputText(obj,use_default,delimiter);}
function getInputDefaultValue(obj,delimiter){return getInputValue(obj,delimiter,true);}
function isChanged(obj){return(getInputValue(obj)!=getInputDefaultValue(obj));}
function setInputValue(obj,value){var use_default=(arguments.length>1)?arguments[1]:false;if(isArray(obj)&&(typeof(obj.type)=="undefined")){for(var i=0;i<obj.length;i++){setSingleInputValue(obj[i],value);}}else{setSingleInputValue(obj,value);}}
function isFormModified(theform,hidden_fields,ignore_fields){if(hidden_fields==null){hidden_fields="";}if(ignore_fields==null){ignore_fields="";}var hiddenFields=new Object();var ignoreFields=new Object();var i,field;var hidden_fields_array=hidden_fields.split(',');for(i=0;i<hidden_fields_array.length;i++){hiddenFields[Trim(hidden_fields_array[i])]=true;}var ignore_fields_array=ignore_fields.split(',');for(i=0;i<ignore_fields_array.length;i++){ignoreFields[Trim(ignore_fields_array[i])]=true;}for(i=0;i<theform.elements.length;i++){var changed=false;var name=theform.elements[i].name;if(!isBlank(name)){var type=theform[name].type;if(!ignoreFields[name]){if(type=="hidden"&&hiddenFields[name]){changed=isChanged(theform[name]);}else if(type=="hidden"){changed=false;}else{changed=isChanged(theform[name]);}}}if(changed){return true;}}return false;}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatNumber2Digits(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + '.' + cents);
}


function cnx_emailcheck (emailStr) {
var checkTLD=0;
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 (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
return false;
}
if (len<2) {
return false;
}
return true;
}



function cnxCheckEnter(tvent, fx_function) {

    if (tvent.keyCode==13) {
        eval(fx_function);
    }

}


function cxaVoid() {
    var cxavoid=1;
}



function cnxactinline(fx_act, fx_data) {

	document.getElementById('cnxactimage').src='/gfx_images/cnxn_' + fx_act + '/' + fx_data + '/1x1clear.gif';

}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}




function confirmlink(fx_link, fx_msg) {

	if (confirm(fx_msg)==true) {
	
		window.location=fx_link;
	
	}

}





function confirmscript(fx_script, fx_msg) {

	if (confirm(fx_msg)==true) {
	
		eval(fx_script);
	
	}

}


function cnxentsub(myform) {
  if (window.event && window.event.keyCode == 13)
    myform.submit();
  else
    return true;
}

function cnxentact(fx_act) {
  if (window.event && window.event.keyCode == 13)
    setTimeout(fx_act, 50);
  else
    return true;
}




function cxaCartCurrentProduct(fx_form, fx_version) {
    var var_postdata = formData2QueryString(fx_form);
    ajaxgetdata('/cnxapp/cart/' + fx_version + '/ajax/addtocart.cnx?product=add', var_postdata, 'cxaCartProductAddItem','cxaCartProductAddItem', 1);
    setTimeout('cxaGotoCartNow()', 200);
}



function cxaCartCurrentProductWishlist(fx_form, fx_version) {
    var var_postdata = formData2QueryString(fx_form);
    ajaxgetdata('/cnxapp/cart/' + fx_version + '/ajax/addtocart.cnx?product=add&wishlist=true', var_postdata, 'cxaCartProductAddItem','cxaCartProductAddItem', 1);
    setTimeout('cxaGotoWishlistNow()', 200);
}



function cxaCartCurrentProductPoints(fx_form, fx_version) {
    fx_form.cxaCartItem_Amount_Unit.value = '0';
    fx_form.cxaCartItem_Points_Earn.value = '0';
    fx_form.cxaCartItem_Points_ToBuy.value = fx_form.cxaCartItem_Points_CouldBuy.value;
    var var_postdata = formData2QueryString(fx_form);
    ajaxgetdata('/cnxapp/cart/' + fx_version + '/ajax/addtocart.cnx?product=add', var_postdata, 'cxaCartProductAddItem','cxaCartProductAddItem', 1);
    setTimeout('cxaGotoCartNow()', 200);
}


function cxaGotoCartNow() {
    window.location='/info/cart/rndid_' + Math.random() + '/'
}


function cxaGotoWishlistNow() {
    window.location='/info/user-wishlist/rndid_' + Math.random() + '/'
}







/*
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= 
 AJAX 
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
*/


var cxaLeftTabLastUp = 'cxanolasttabupatall';


function cxaLeftTabChangUp(fx_newtab) {

    if ( document.getElementById(cxaLeftTabLastUp) != null ) {    
        changeClass(cxaLeftTabLastUp, 'leftablink');    
    }

    changeClass(fx_newtab, 'leftablinkup');    
    
    cxaLeftTabLastUp = fx_newtab;

}


function slhrdoit() {

	if (var_shouldshowload == 1) {
		document.getElementById(var_loadtodiv).innerHTML = '<div style=\'float: left;\'><object height=\'16\' width=\'16\' codebase=\'https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\' classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\'><param NAME=\'_cx\' VALUE=\'423\'><param NAME=\'_cy\' VALUE=\'423\'><param NAME=\'FlashVars\' VALUE><param NAME=\'Movie\' VALUE=\'/ctl/graphics/loading.swf\'><param NAME=\'Src\' VALUE=\'/ctl/graphics/loading.swf\'><param NAME=\'WMode\' VALUE=\'Transparent\'><param NAME=\'Play\' VALUE=\'-1\'><param NAME=\'Loop\' VALUE=\'-1\'><param NAME=\'Quality\' VALUE=\'High\'><param NAME=\'SAlign\' VALUE><param NAME=\'Menu\' VALUE=\'-1\'><param NAME=\'Base\' VALUE><param NAME=\'AllowScriptAccess\' VALUE><param NAME=\'Scale\' VALUE=\'ShowAll\'><param NAME=\'DeviceFont\' VALUE=\'0\'><param NAME=\'EmbedMovie\' VALUE=\'0\'><param NAME=\'BGColor\' VALUE><param NAME=\'SWRemote\' VALUE><param NAME=\'MovieData\' VALUE><param NAME=\'SeamlessTabbing\' VALUE=\'1\'><param NAME=\'Profile\' VALUE=\'0\'><param NAME=\'ProfileAddress\' VALUE><param NAME=\'ProfilePort\' VALUE=\'0\'><param NAME=\'AllowNetworking\' VALUE=\'all\'><param NAME=\'AllowFullScreen\' VALUE=\'false\'><embed src=\'/ctl/graphics/loading.swf\' quality=\'high\' wmode=\'transparent\' pluginspage=\'https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\' type=\'application/x-shockwave-flash\' width=\'16\' height=\'16\'> </embed> </object></div><div style=\'color: #8798BE; float: left; padding-bottom: 5px;\'>&nbsp;Loading...</div>';	
	}

}

function showloadinghere(fx_div, fx_msg) {

	setTimeout('showloadingactualldoit(\'' + fx_div + '\',\'' + fx_msg + '\')', 500)

}


function showloadingactualldoit(fx_div, fx_msg) {

	document.getElementById(fx_div).innerHTML='<div style=\'float: left;\'><object height=\'16\' width=\'16\' codebase=\'https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\' classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\'><param NAME=\'_cx\' VALUE=\'423\'><param NAME=\'_cy\' VALUE=\'423\'><param NAME=\'FlashVars\' VALUE><param NAME=\'Movie\' VALUE=\'/ctl/graphics/loading.swf\'><param NAME=\'Src\' VALUE=\'/ctl/graphics/loading.swf\'><param NAME=\'WMode\' VALUE=\'Transparent\'><param NAME=\'Play\' VALUE=\'-1\'><param NAME=\'Loop\' VALUE=\'-1\'><param NAME=\'Quality\' VALUE=\'High\'><param NAME=\'SAlign\' VALUE><param NAME=\'Menu\' VALUE=\'-1\'><param NAME=\'Base\' VALUE><param NAME=\'AllowScriptAccess\' VALUE><param NAME=\'Scale\' VALUE=\'ShowAll\'><param NAME=\'DeviceFont\' VALUE=\'0\'><param NAME=\'EmbedMovie\' VALUE=\'0\'><param NAME=\'BGColor\' VALUE><param NAME=\'SWRemote\' VALUE><param NAME=\'MovieData\' VALUE><param NAME=\'SeamlessTabbing\' VALUE=\'1\'><param NAME=\'Profile\' VALUE=\'0\'><param NAME=\'ProfileAddress\' VALUE><param NAME=\'ProfilePort\' VALUE=\'0\'><param NAME=\'AllowNetworking\' VALUE=\'all\'><param NAME=\'AllowFullScreen\' VALUE=\'false\'><embed src=\'/ctl/graphics/loading.swf\' quality=\'high\' wmode=\'transparent\' pluginspage=\'https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\' type=\'application/x-shockwave-flash\' width=\'16\' height=\'16\'> </embed> </object></div><div style=\'color: #FF0000; float: left; padding-bottom: 5px;\'>&nbsp;' + fx_msg + '</div>';



}


var cnxAjaxXinfo;

function ajaxgetdata(fx_url, fx_post, fx_obinid, fx_showloadhere, fx_needfresh) {

    var xmlHttp
    var xmlHttpObInId

	var_shouldshowload = 1;
	var varpostmethod = 'GET';
	var varpostdata = null;

	var_loadtodiv = fx_showloadhere

	if (document.getElementById(fx_showloadhere) != null) {

		setTimeout('slhrdoit()', 1500)
		
	}

	xmlHttpObInId = '';

	xmlHttpObInId = fx_obinid;

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	  {
	  alert ('Your browser does not support AJAX!');
	  return;
	  } 
	var url=fx_url;
	url=url.replace('.cnx?', '.asp?');
	if (fx_needfresh == 1) {
		url=url+'&sid='+Math.random();
	}
	if (cnxAjaxXinfo!='') {
	    url=url+'&cnxajaxxinfo='+cnxAjaxXinfo;
	}
	
	if (fx_post=='') {
	    varpostdata = null;
	    varpostmethod = 'GET';
	} else {
	    varpostdata = (fx_post);
	    varpostmethod = 'POST';	
	    
        
	    
	}
	
	xmlHttp.onreadystatechange=function() { 
	
	        var xmlHttpresp
	        if (xmlHttp.readyState==4)
		        { 
        		
			        xmlHttpresp = xmlHttp.responseText;
			        document.getElementById(xmlHttpObInId).innerHTML=xmlHttpresp;
			        var_shouldshowload = 0;
        			
			        //alert(xmlHttpObInId.indexOf('cnxtempshow'))
        			
                    if ( xmlHttpObInId.indexOf('cnxtempshow') >= 0 ) {
                    
                        var_function = 'document.getElementById(\'' + xmlHttpObInId + '\').innerHTML=\'\';'
                        
                        //alert(var_function);
                    
                        setTimeout(var_function, 3000);
                    
                    }
            			
        			
        			
		        }
        }
	
	
	
	xmlHttp.open(varpostmethod,url,true);
	
	if (fx_post!='') {
	    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	    
    }
	
	xmlHttp.send(varpostdata);	

}





function GetXmlHttpObject()	{
	var xmlHttp=null;
	try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
	catch (e)
		{
			// Internet Explorer
			try
				{
					xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');
				}
				catch (e)
					{
						xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
					}
				}
	return xmlHttp;
}



function maechangeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if (elem!=null) {
	    elem.className = myClass;
	    
	}
}



function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if (elem!=null) {
	    elem.className = myClass;
	    
	}
}



function changethisClass(Elem, myClass) {
	Elem.className = myClass;
}


function URLencode(sStr) {
    return escape(sStr)
       .replace(/\+/g, '%2B')
          .replace(/\"/g,'%22')
             .replace(/\'/g, '%27');
  }


function URLencodepagename(sStr) {

    sStr = sStr.replace(/ /g, '-');

    return escape(sStr)
       .replace(/\+/g, '%2B')
          .replace(/\"/g,'%22')
             .replace(/\'/g, '%27');
  }





var ajxkpw = 0;
var ajxkpwrun = 0;

function ajaxkeypresswatch(fx_time) {

    ajxkpw = ajxkpw + 1;

    setTimeout('ajaxkeypresswatch(' + fx_time + ')', fx_time);        

    ajxkpwrun = 1;

}




function getEditorValue( instanceName ) 
{  
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;
  
  if (oEditor != null) {
  // Get the editor contents as XHTML.
    return oEditor.GetXHTML( true ) ;  // "true" means you want it formatted.
 }
 
 oEditor = null;
}  




function formData2QueryString(docForm) {

        var strSubmit       = '';
        var formElem;
        var strLastElemName = '';
        
        for (i = 0; i < docForm.elements.length; i++) {
                formElem = docForm.elements[i];
                switch (formElem.type) {
                        // Text, select, hidden, password, textarea elements
                        case 'text':
                        case 'hidden':
                        case 'password':
                        case 'textarea':
                                strSubmit += formElem.name + 
                                '=' + URLencode(formElem.value) + '&'                                
                        case 'checkbox':
                        case 'radio':
                            if (formElem.checked==true) {
                            
                                strSubmit += formElem.name + 
                                '=' + URLencode(formElem.value) + '&'    
                            }                            
                        case 'select-one':
                        case 'select-multiple':
                            for (ism = 0; ism < formElem.length; ism++) {
                                if (formElem.options[ism].selected==true) {
                                    strSubmit += formElem.name + '=' + URLencode(formElem.options[ism].value) + '&'                                  
                                }                                    
                            }                                
                        break;
                }
        }
        
        return strSubmit;
        
}                        
            
            
            
function cxacheckstoptyping(fx_function) {

	cxa_curdif = (new Date() - cxa_lasttype);
	
	if (cxa_curdif > 190) {
		cxaisnottyping = 1;		
	} else {
		cxaisnottyping = 0;
	}
	
	setTimeout(fx_function, 25)
	

}
            
            
            
            
var cxa_lasttype = new Date();
var cxaisnottyping = 1;
var cxa_curdif = 0;

function ajax_keypress(fx_function) {	
	cxa_lasttype = new Date();
	setTimeout('cxacheckstoptyping(\''+ fx_function +'\')', 200)
}    
            
            
         
            
function cnxConversionTrackerIF(fx_page) {

    var fx_curtrack = document.getElementById('cnxConversionTrackIF').innerHTML;
    
    var fx_ifcode = '<iframe src=\'/site/conversion/' + fx_page + '\' height=\'25\' width=\'100%\' frameborder=\'0\' marginheight =\'0\' marginwidth =\'0\' border=\'0\' scrolling=\'no\'></iframe>'
    
    document.getElementById('cnxConversionTrackIF').innerHTML = fx_curtrack + fx_ifcode;

}            



function cnxfindPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
	
}










var cnxstats_machine = 0;
var cnxstats_visit = 0;
var cnxstats_pageview = 0;

function cnxStatsAddStatWait(fx_action, fx_ref, fx_value) {

    setTimeout('cnxStatsAddStatGo(' + fx_action + ', ' + fx_ref + ', ' + fx_value + ')', 1500)

}

function cnxStatsAddStat(fx_action, fx_ref, fx_value) {

    setTimeout('cnxStatsAddStatGo(' + fx_action + ', ' + fx_ref + ', ' + fx_value + ')', 250)

}

function cnxStatsAddStatGo(fx_action, fx_ref, fx_value) {

    var xmlHttp

    var var_url = '/cnxapp/stats/track/action.cnx?rnd=' + Math.random()
    
    var_url = var_url + '&mc=' + cnxstats_machine
    var_url = var_url + '&vs=' + cnxstats_visit
    var_url = var_url + '&pv=' + cnxstats_pageview
    var_url = var_url + '&ac=' + fx_action
    var_url = var_url + '&rf=' + fx_ref
    var_url = var_url + '&vl=' + fx_value


	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	  {
	  //alert ('Your browser does not support AJAX!');
	  return;
	  } 
	  	  	
	
	xmlHttp.open('POST', var_url, true);
	
	xmlHttp.send('');	

}