if (typeof(browser_version)=="undefined") {
	var user_agent = navigator.userAgent.toLowerCase();
	var app_version = navigator.appVersion.toLowerCase();
	var is_ie = 0;
	var is_firefox = 0;
	var is_netscape = 0;
	var is_safari = 0;
	var is_opera = 0;
	var is_other = 0;
	var browser_version = 0;
	var browser_name = '';
	if (user_agent.indexOf('msie')!= -1){
	    is_ie = 1;
		browser_version = parseFloat(app_version.split("msie")[1]);
		browser_name = 'ie';
	} else if (user_agent.indexOf('firefox')!=-1) {
	    is_firefox = 1;
		browser_name = 'firefox';
	} else if (user_agent.indexOf('netscape')!=-1) {
	    is_netscape = 1;
		browser_name = 'netscape';
	} else if (user_agent.indexOf('opera')!= -1){
	    is_opera = 1;
		browser_name = 'opera';
	} else if (user_agent.indexOf('safari')!= -1){
	    is_safari = 1;
		browser_name = 'safari';
	} else {
	    is_other = 1;
	}
	if (!is_ie&&browser_name) {
	 browser_version = parseFloat(user_agent.split(browser_name + "/")[1])
	}
}
if(typeof String.prototype.trim == "undefined") {
 String.prototype.trim = function() {
  var re = /^\s*(.*?)\s*$/;
  var re2 = /^\n*(.*?)\n*$/;
  str1=this.replace(re,"$1");
  return str1.replace(re2,"$1");
 } 
}
 function setValuesFromQueryString() {
  var non_digit = /\D/;
  var qs = window.location.search.substring(1);
  var qs_list = qs.split("&");
  for(var i=0; i < qs_list.length; i++) {
    var kv = qs_list[i].split("=");
	var quote = (non_digit.test(kv[1])? "'" : "" );
	var str1 = kv[0] + "=" + quote + unescape(kv[1]) + quote;
	eval(str1);
  }
 }
function changeHTMLContent(id,content){
 var obj = document.getElementById(id);
 obj.innerHTML=content;
 obj.style.display="block";
}
function toggleContent(id) {
  var obj = document.getElementById(id);
  if (obj.style.display!="block") {
   obj.style.display="block";
  } else {
   obj.style.display="none";
  }
}
function delimitPrice(p) {
   var str = "";
   for(var i=p.length; i>=0; i-=3) {
	  str = (i>3 ? "," : "")  + p.substring(i-3,i) + str;
   }
   return str;
}
function addCustomLoadFunction(event_name, function_name) {
   if (window.addEventListener) {
      window.addEventListener(event_name, function_name, false);
   } else if (window.attachEvent) {
      //ie browser
      window.attachEvent("on" + event_name, function_name);
   }
}
var url_regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
var invalid_url_regexp = /(http|https):\/\/[w]+\.+([0-9a-zA-Z]+)(\.)*$/;
var dot_regexp = /(\w)\.(\w)/;
function validateUrl(url) {
	if(url_regexp.test(url)){
	 if(invalid_url_regexp.test(url) || !validDot(url)) {
	  return 0;
	 } else {
	  return 1;
	 }
	} else {
	 return 0;
	}
}
function validDot(url) {
 if(dot_regexp.test(url)) {
  return 1;
 } else {
  return 0;
 }
}
//begin function for xml http request
function HttpRequestObject(handlingFunction,url,qstr){ 
 this.xml_request = null;
 this.url = url; 
 if (window.XMLHttpRequest) {
   this.xml_request=new XMLHttpRequest();  
 } else if (navigator.userAgent.indexOf("MSIE")>=0) { 
  var strName="Msxml2.XMLHTTP";
  if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
    strName="Microsoft.XMLHTTP";
  } 
  try { 
    this.xml_request=new ActiveXObject(strName);
  } catch(e) { 
    //alert("Error. Scripting for ActiveX might be disabled"); 
    return;
  } 
 } 
 if (!this.xml_request) {
  alert("This feature is not supported on this browser.");
  return false;
 }
  var the_request=this.xml_request;
  this.xml_request.onreadystatechange=function () {
     if (the_request.readyState==4 || the_request.readyState=="complete") { 
        handlingFunction(the_request);
     }
  }
 if (qstr) {
  this.xml_request.open("POST", this.url)
  this.xml_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  this.xml_request.send(qstr)
 } else {
  this.xml_request.open("GET", this.url, true)
  this.xml_request.send(null)
 }
}  
//end functions for xml http request
var pX = 0;
var pY = 0;
var scrollbarY = 0;
var clientHeight = 0;
var clientWidth = 0;
var rollover_name = "_rollover";
var trick_frame = "";
function findPosition(e) {
 	if (window.pageYOffset){
        scrollbarY=window.pageYOffset;
		clientHeight = window.innerHeight;
		clientWidth = window.innerWidth;
    } else if (document.documentElement){
        scrollbarY=document.documentElement.scrollTop;
		clientHeight=document.documentElement.clientHeight;
		clientWidth=document.documentElement.clientWidth;
    } else if (document.body){
        scrollbarY=document.body.scrollTop;
		clientHeight=document.body.clientHeight;
		clientWidth=document.body.clientWidth;
    }
    if (document.all) {
		pX=window.event.clientX;
		pY=window.event.clientY + scrollbarY;
    } else if (document.layers||document.getElementById) {
		pX=e.pageX;
		pY=e.pageY;
	}	
}
function hideRollover() {
 document.getElementById(this.id + rollover_name).style.display="none";
  if (is_ie && browser_version<7 && trick_frame) {
   var the_frame = document.getElementById(trick_frame);
   if(the_frame) {
    the_frame.style.display="none";
   }
  }
}
function showRollover(e) {
  var x=0;
  var y=0;
  var id = this.id;
  var rollover_obj = document.getElementById(id + rollover_name);
  findPosition(e);
  rollover_obj.style.display="block";
  x = pX;
  y = pY;
  if ( (y+rollover_obj.clientHeight-scrollbarY) > clientHeight ) {
   y = y - rollover_obj.clientHeight;
  }
  if ( (x+rollover_obj.clientWidth) > clientWidth ) {
   x = x - rollover_obj.clientWidth;
  }
  if (is_ie && browser_version<7 && trick_frame) {
   var the_frame = document.getElementById(trick_frame);
   if(the_frame) {
    the_frame.style.display="block";
	the_frame.style.width=(rollover_obj.clientWidth - 20) + "px";
	the_frame.style.height=(rollover_obj.clientHeight + 7) + "px";
	the_frame.style.top = y  + "px";
    the_frame.style.left = x + "px";
   }
  }
  rollover_obj.style.top = y  + "px";
  rollover_obj.style.left = x + "px";
}
function addRolloverEvent(the_list) {
  for(i=0; i<the_list.length; i++) {
   document.getElementById(the_list[i]).onmouseover=showRollover;
   document.getElementById(the_list[i]).onmouseout=hideRollover;
  }
}
