function Browser() {


  var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isOP    = false;  // Opera
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "Opera";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isOP = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as Netscape 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }

  s = "MSIE";
  if ((i = ua.indexOf(s))) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }
}

var browser = new Browser();

function getPageOffsetLeft(el) {
  var x;
  // Return the x coordinate of an element relative to the page.
  x = el.offsetLeft;
 // alert(el.tagName+"#"+el.id+"="+el.offsetLeft);
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);
  return x;
}
function getPageOffsetTop(el) {
  var y;
  // Return the x coordinate of an element relative to the page.
  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);
  return y;
}
/* add Array.push if needed */
if(Array.prototype.push == null){
	Array.prototype.push = function(item) {this[this.length] = item; return this.length;}
}

function isEmail(s){
	if (s.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}$/) != -1)
		return true;
	return false;
}

function isBlank(s) {
	if(trim(s) == "" ) 
		return true ;
	return false ;
}

function trim(s) {
	return s.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function isPhone(s) {
	if (s.search(/^[0-9\_\.\()\ \-]+$/) != -1) return true;
	return false;
}
function isDate(s){
	if (s.search(/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/) !=-1) return true;
	return false;
}


function doFocus (ElementName) {
	var Obj= ElementName;
	Obj.focus();
}

function doFocusSetStyle (ElementName) {
	doFocus(ElementName);
	var Obj = ElementName;
	Obj.style.borderColor="";
}


function doResetInput (frmID) {	
	var frmObj=document.getElementById(frmID);
	for (var i = 0; i < frmObj.elements.length; i++) {
		if (frmObj.elements[i].type == "text" || frmObj.elements[i].type == "select-one") {
			frmObj.elements[i].style.borderColor = "";
		}
	}
}

function resetErrMsg () {
	for (i=1; i<=20; i++) {
		if (document.getElementById("msg"+i)) {
			var curMsg = document.getElementById("msg"+i);
			curMsg.innerHTML="&nbsp;";
		}
	}
}

function inputPhone(number)
{
	var pattern = "0123456789 - () .";
	
	if (len != 0)
	{
		var index = 0;
		var len = number.value.length;
		
		while ((index < len) && (len != 0))
			if (pattern.indexOf(number.value.charAt(index)) == -1)
			{
				if (index == len-1)
					number.value = number.value.substring(0, len-1);
				else if (index == 0)
					 	number.value = number.value.substring(1, len);
					 else number.value = number.value.substring(0, index)+number.value.substring(index+1, len);
				index = 0;
				len = number.value.length;
			}
			else index++;
	}
}

function inputNumber(number)
{
	var pattern = "0123456789";
	
	if (len != 0)
	{
		var index = 0;
		var len = number.value.length;
		
		while ((index < len) && (len != 0))
			if (pattern.indexOf(number.value.charAt(index)) == -1)
			{
				if (index == len-1)
					number.value = number.value.substring(0, len-1);
				else if (index == 0)
					 	number.value = number.value.substring(1, len);
					 else number.value = number.value.substring(0, index)+number.value.substring(index+1, len);
				index = 0;
				len = number.value.length;
			}
			else index++;
	}
}

function showError(formobj,err_str,err_div,input) {
	var x = getPageOffsetLeft(input);
	var y = getPageOffsetTop(input);
	var objCon = $(err_div+"Content");
	var divObj = $(err_div);
	if (objCon != null) {
		objCon.innerHTML="<p>"+err_str+"</p>";
	}
	if (divObj != null) {
		divObj.style.left = (x+1)+"px";
		divObj.style.top = (y+18)+"px";
		divObj.style.visibility = "visible";
	}

	if (window.ie) {
		var iframeObj = $(err_div+"Iframe");
		if (iframeObj != null && divObj!=null) {
			iframeObj.style.width = divObj.offsetWidth+"px";
			iframeObj.style.height = divObj.offsetHeight+"px";
			iframeObj.style.left = parseInt(divObj.style.left)+"px";
			iframeObj.style.top = parseInt(divObj.style.top)+"px";
			iframeObj.style.visibility = "visible";
		}
	}
	//resetFrmFeedBack(formobj);
	input.focus();
	//input.className="errorField";
	return false;
}

function closeError(err_div) {
	var divObj=$(err_div);
	if (divObj!=null) {
		divObj.style.visibility="hidden";
	}
	if (window.ie) {
		var iframeObj = $(err_div+"Iframe");
		if (iframeObj != null) {
			iframeObj.style.visibility = "hidden";
		}
	}
}

//check form send to friend
function resetForm(frmObj)
{	
	frmObj.username.value="";
	frmObj.password.value="";
	frmObj.username.focus();
}

function resetFrmFeedBack(frmObj) {
	frmObj.username.style.backgroundColor="";
	frmObj.password.style.backgroundColor="";
	
}

//
function validfrmSeach(fo) {
	var error = "";
	if(fo.txt_search.value == "Search this site"){
		showEror(fo,"Please type some text.", "alert", fo.txt_search);
		error=1;
		return false;
	}else if (error == "") {
		//fo.submit();
		return true;
	}
}
//onchenge
function doChange(link)
{
	window.location = link;
}
