

var n = navigator;
var d = document;
var speed = 30;
var agent = n.userAgent.toLowerCase();
var tid, b;


//Browser sniff hash obj
var sniff = {
    bw: {
        ns:d.layers,
        ie:d.all && !d.getElementById,
        ie4:agent.indexOf("msie 4.") != -1,
        ie5:agent.indexOf("msie 5.") != -1,
        ie6:agent.indexOf("msie 6.") != -1,
        dom:d.getElementById,
        ns6:d.getElementById && agent.indexOf("gecko") != -1
    },
    os: {
        win:agent.indexOf("win") != -1,
        mac:agent.indexOf("mac") != -1
    }
}; 

var distance = (sniff.os.mac && sniff.bw.ns6 || sniff.os.win && 
sniff.bw.ie4)?5:(sniff.os.mac && sniff.bw.ns)?6:4; 

function createScrollerObj(lyr1, lyr2) {
    this.container = {
        obj:(sniff.bw.ns)?d[lyr1]:sniff.bw.ie?d.all[lyr1]:d.getElementById
        (lyr1),
        css:(sniff.bw.ns)?d[lyr1]:sniff.bw.ie?d.all[lyr1].style:d.getElementById
        (lyr1).style,
        height:(sniff.bw.ns)?d[lyr1].clip.height:sniff.bw.ie?d.all
        [lyr1].offsetHeight:d.getElementById(lyr1).offsetHeight
    };
    this.content = {
        obj:(sniff.bw.ns)?d[lyr1].document[lyr2]:sniff.bw.ie?d.all
        [lyr2]:d.getElementById(lyr2),
        css:(sniff.bw.ns)?d[lyr1].document[lyr2]:sniff.bw.ie?d.all
        [lyr2].style:d.getElementById(lyr2).style,
        height:(sniff.bw.ns)?d[lyr1].document[lyr2].clip.height:sniff.bw.ie?
        d.all[lyr2].offsetHeight:d.getElementById(lyr2).offsetHeight,
        move:moveLyr,
        top:0
    };
    this.prop = {
        dif:this.container.height - this.content.height
    };
    return this;
} 

//move something
function moveLyr(x, y) {
    this.css.left = x;
    this.css.top = y;
} 

function scrollDown(num) {
var obj = (eval("scroller" + num));
b = true;
    if (obj.container.height < obj.content.height) {
        obj.content.move(0, (parseInt(obj.content.top) - distance));
        if (parseInt(obj.content.top) >= parseInt(obj.prop.dif)) {
            tid = setTimeout("scrollDown('" + num + "')", speed);
        }
        obj.content.top = parseInt(obj.content.top) - distance;
    } else {
        stop();
    }
} 

function scrollUp(num) {
var obj = (eval("scroller" + num));
b = true;

    if(parseInt(obj.content.top) != 0) {
        obj.content.move(0, (parseInt(obj.content.top) + distance));
        obj.content.top = parseInt(obj.content.top) +distance;
        tid = setTimeout("scrollUp('" + num + "')", speed);
    }
} 

function stopScroll() {
    clearTimeout(tid);
    b = false
} 

function correctPNG() 
   {
   for(var i=0; i<document.images.length; i++)
      {
	  var img=document.images[i];
	  var imgName = img.src.toUpperCase()
	  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	     {
		 var imgID = (img.id) ? "id='" + img.id + "' " : ""
		 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
		 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
		 var imgStyle = "display:inline-block;" + img.style.cssText 
		 if (img.align == "left") imgStyle = "float:left;" + imgStyle
		 if (img.align == "right") imgStyle = "float:right;" + imgStyle
		 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
		 var strNewHTML = "<span " + imgID + imgClass + imgTitle
		 + " style=\"" + "width:" + img.width + "; height:" + img.height + ";" + imgStyle + ";"
	     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
		 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
		 img.outerHTML = strNewHTML
		 i = i-1
	     }
      }
   }
window.attachEvent("onload", correctPNG);

var Win;

function round(number,X) {
    // rounds number to X decimal places, defaults to 2
	X = (!X ? 2 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function TransferValue(PrimaryObject, Object) {
	Object.value = PrimaryObject.options[PrimaryObject.options.selectedIndex].text
}

function DeleteRecord(URL) {
	if (confirm("This will permanently delete the record from the database.  Continue?")){
		self.location=URL
	}
}

function CheckSelect(Object) {
	if (Object.options[0].selected) {
		for (i=1;i<Object.options.length;i++) {
			Object.options[i].selected=false;
		}
	}
}

function ReloadPage(form, URL) {
	document.getElementById(form).action=URL
	document.getElementById(form).submit()
}

function FormatPhoneNumber(Object) {
	var MyPhone = new String(Object.value)
	if (MyPhone != '' && MyPhone.length==10) {
		MyPhone = MyPhone.split("(").join("")
		MyPhone = MyPhone.split(")").join("")
		MyPhone = MyPhone.split("-").join("")
		MyPhone = MyPhone.split(".").join("")
		MyPhone = MyPhone.split(" ").join("")
		if (MyPhone.length == 10) {
			var TmpPhone = "(" + MyPhone.substring(0, 3) + ") "
			TmpPhone += MyPhone.substring(3, 6) + "-"
			TmpPhone += MyPhone.substring(6, 10)
			Object.value = TmpPhone
		} else {
			alert("Phone number is invalid.  Phone number must be 10 characters!")
			Object.value = ''
		}
	} else {
		Object.value = Object.value
	}
}

function ChangeColor(Object, color) {
	Object.style.backgroundColor=color
}

function MakePercentage(Object) {
	MyNumber = new Number(Object.value)
	if (MyNumber < 1) {
		MyNumber = MyNumber * 100
		Object.value = MyNumber
	}
}

function IsCommission(Object) {
	MyNumber = new Number(Object.value)
	if (MyNumber>10) {
		if (!confirm('The commission entered is\n\n' + Object.value + '\n\nIs this the correct commission?')) {
			Object.value=''
			Object.focus()
			return false;
		}
	}
}

function IsInterest(Object) {
	return IsNumeric(Object)
	MyNumber = new Number(Object.value)
	if (MyNumber>10) {
		if (!confirm('The interest entered is\n\n' + Object.value + '\n\nIs this the correct interest?')) {
			Object.value=''
			Object.focus()
			return false;
		}
	}
}

function IsNumeric(Object) {
	var breturn = true;
	MyNumber = new Number(Object.value)
	if ((MyNumber*0)!=0) {
		alert("Invalid value entered!  Must be a numeric value!")
		Object.value=''
		Object.focus()
		breturn = false;
	}
	return breturn;
}

function IsPercentage(Object) {
	var breturn = true;
	
	MyNumber = new Number(Object.value)
	MyString=new String(Object.value)
	
	if ((MyNumber*0)!=0) {
		alert("Invalid value entered!  Must be a numeric value!")
		Object.value=''
		Object.focus()
		return false;
	} else if (MyNumber>100) {
		alert("Invalid value entered!  The value exceeds the expected amount for a valid percentage!")
		Object.value=''
		Object.focus()
		return false;
	}
	
	return true;
}

function CheckEmail(Object) {
	if (Object.value !="") {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Object.value)){
			return (true)
		}
		Object.value = ""
		Object.focus()
		alert("Invalid E-mail Address! Please re-enter.")
		return (false)
	}
}

function CheckDate(Object) {
	if (Object.value!="") {
		var DateValue = new Date(Object.value)
		if (DateValue=="NaN") {
			alert("Invalid date entry!")
			Object.value="";
			Object.focus();
		}
	}
}

function OpenWebsite(URL) {
	if (URL!="") {
		var LeftURL = new String(URL)
		LeftURL = LeftURL.toLowerCase()		
		if (LeftURL.substring(0, 4) != "http") {
			window.open ("http://" + URL, "newwin", "")
		} else {
			window.open (URL, "newwin", "")
		}
	}
}

function PhoneOnly(KeyCode){
	if((KeyCode >= 48 && KeyCode <= 57) || (KeyCode==40||KeyCode==41||KeyCode==32 || KeyCode == 45)){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

function IntegersOnly(KeyCode){
	if(KeyCode >= 48 && KeyCode <= 57){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

function IntegersAndSlashOnly(KeyCode) {
	if (KeyCode >= 48 && KeyCode <= 57  || KeyCode == 47){
		event.returnValue = true;
	} else {
		event.returnValue = false;
	}
}

function IntegersAndDecimalOnly(KeyCode){
	if((KeyCode >= 48 && KeyCode <= 57) || KeyCode==46){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

function IntegersAndDashOnly(KeyCode){
	if(KeyCode >= 48 && KeyCode <= 57 || KeyCode == 45){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

function IntegersDashAndSlashOnly(KeyCode){
	if(KeyCode >= 48 && KeyCode <= 57 || KeyCode == 45 || KeyCode == 47){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

function Void() {}
