/// <reference path="jQuery/jquery-1.3.2-vsdoc2.js"/>
// include after body tag
/* gets mouse coordinates on click */
var screenX=0;var screenY=0;
var clientX=0;var clientY=0;
function getMouseXY(e){
	if(document.all)e=event;
	screenX=e.screenX;screenY=e.screenY;
	clientX=e.clientX;clientY=e.clientY;
}
document.onmousedown=getMouseXY;
//leading zero for two-digit numbers
function leadZero(n){
	return (n<=9)?'0'+n:n;
}
//usage for fixX functions: <input onblur="fixX(this)"/>
/*removes non-numeric characters
removes decimal point and numbers after it*/
function fixInteger(fld){
	var str=fld.value;
	var pos=fld.value.indexOf('.');
	if(pos>-1)str=str.substring(0,pos);
	str=str.replace(/\D/g,'');
	//if(str=='')str=0;
	fld.value=str;
}
/*replaces - or \ with / */
function fixDate(fld){
	var str=fld.value;
	str=str.replace(/-/g,'/');
	str=str.replace(/\\/g,'/');
	str=str.replace(/\./g,'/');
	fld.value=str;
}
/*removes non-numeric characters
if makePositive==true, negative result will become positive*/
function fixDecimal(fld,makePositive){
	fld.value=formatDecimal(fld.value,makePositive);
}
function formatDecimal(num,makePositive){
	var str=num.toString();
	var pos=str.indexOf('.');
	var neg='';var str1='';var str2='';
	//negative?
	if(str.substring(0,1)=='-'&&!makePositive)neg='-';
	//decimal point?
	if(pos>-1){
		//dollars.cents
		str1=str.substring(0,pos);
		str2=str.substring(pos+1);
		//numeric
		str1=str1.replace(/\D/g,'');
		str2=str2.replace(/\D/g,'');
		//zeros
		//if(str1.length==0)str1='0';
		if(str2.length==0){
			//str2='00';
		}else if(str2.length>2){
			str2=str2.substring(0,2)+'.'+str2.substring(2);
			str2=Math.round(str2);
		}else if(str2.length==1){
			str2=str2+'0';
		}
	}else{
		str1=str.replace(/\D/g,'');
	}
	str=neg+str1+((str2!='')?'.':'')+str2;
	return (str!='.')?str:'';
}
function fixCurrency(num){
	num=num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))num="0";
	sign=(num==(num=Math.abs(num)));
	num=Math.floor(num*100+0.50000000001);
	var 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);
}
/*7 digits: US short 123-4567
10 digits: US long 123-123-1234
11 digits, starting with 1: US long (removes 1) 123-123-1234
all others remain as-is*/
function fixPhone(fld){
	var str=fld.value;
	var sav=str;
	str=str.replace(/\D/g,'');
	if(str.length==7){
		str=str.substring(0,3)+'-'+str.substring(3,7);
	}else if(str.length==10){
		str=str.substring(0,3)+'-'+str.substring(3,6)+'-'+str.substring(6,10);
	}else if(str.length==11&&str.substring(0,1)=='1'){
		str=str.substring(1,4)+'-'+str.substring(4,7)+'-'+str.substring(7,11);
	}else{
		str=sav;
	}
	fld.value=str;
}
/*5 digits: US short 12345
9 digits: US long 12345-1234
6 characters: Canada A1B 2C3
all others remain as-is*/
function fixZip(fld){
	var str=fld.value.toUpperCase();
	var sav=str;
	str=str.replace(/\ /g,'');
	str=str.replace(/\-/g,'');
	var itg=str.replace(/\D/g,'');
	if(itg.length==5){
		str=itg;
	}else if(itg.length==9){
		str=itg.substring(0,5)+'-'+itg.substring(5,10);
	}else if(str.length==6){
		str=str.substring(0,3)+' '+str.substring(3,6);
	}else{
		str=sav;
	}
	fld.value=str;
}
//copies value from one input to another
function copyInputValue(src,dstID){
	var dst=$('#'+dstID);
	if(dst.val()=='')dst.val(src.value);
}
/*run specified code when enter key is pressed
usage: <input onkeypress="return trapEnterKey(event,'myFunction()')"/>*/
function trapEnterKey(e,functionToCall){
	var characterCode;
	if(e&&e.which){//NS
		e=e;
		characterCode=e.which;
	}else{//IE
		e=event;
		characterCode=e.keyCode;
	}
	if(characterCode==13||characterCode==10||characterCode==11){//enter
		Page_ValidationActive=false;
		if(functionToCall!=null&&functionToCall!='')setTimeout(functionToCall,0);
		return false;
	}
}
//used with the StringFunctions.ObscureEmail method
function ml2(e){
	e=e.replace(',a,','@');
	e=e.replace(/\,d\,/g,'.');
	location='mailto:'+e;
}
/*uncomment to override .NET function that occurs when <asp:panel DefaultButton="x"> is set
this will prevent form from being submitted when enter key is pressed in an input*/
/*function WebForm_FireDefaultButton(event,target){
	//event.srcElement doesn't work in FF so we check whether it or event.target exists, using whichever is returned
	var element=event.target||event.srcElement;
	if((event.keyCode==13||event.keyCode==11||event.keyCode==10)&&!(element&&element.tagName.toLowerCase()=='textarea')){
		var defaultButton;
		if(__nonMSDOMBrowser){//set by .NET: window.navigator.appName.toLowerCase().indexOf('explorer')==-1
			defaultButton=document.getElementById(target);
		}else{
			defaultButton=document.all[target];
		}
		if(defaultButton&&typeof defaultButton.click!='undefined'){
			defaultButton.click();
			event.cancelBubble=true;
			if(event.stopPropagation)event.stopPropagation();
			return false;
		}
	}
	return true;
}*/
