globalCookieName = window.globalCookieName || "hertastepanel";
cookiePath = window.cookiePath || "/";
cookieDomain = window.cookieDomain || ".hertaste.com";

function wait(ms) {
	var date = new Date();
	var curDate = null;
	
	do{
		curDate = new Date();
	} while(curDate - date < ms);
}
 
function showLoading(button) {
	button.style.backgroundImage = 'url(/images/loading-arrows_12x12.gif)';
	button.style.color = '#676561';
	wait(400);
	return true;
}
 
function stopLoading(button) {
	button.style.backgroundImage = 'url(/images/button_blank.gif)';
	button.style.color = '#000000';
	return true;
}

function ge(id){
  return document.getElementById(id);
}

function ajaxGet(targetelement,requesturl,allowcache){
  var xmlHttp = createXmlHttpRequestObject();
  var sep = (-1 < requesturl.indexOf("?")) ? "&" : "?"
  if (!allowcache)
  {
    requesturl = requesturl + sep + "__=" + encodeURIComponent((new Date()).getTime());
  }
//  alert(requesturl);
  if (xmlHttp){
    try{
      xmlHttp.open("GET", requesturl, true);
      xmlHttp.onreadystatechange = function(){
        if (xmlHttp.readyState == 4){
          if (xmlHttp.status == 200){
            try {
              if (targetelement) targetelement.innerHTML=xmlHttp.responseText;
	      else window.location.reload();
            }
            catch(e) {
              alert("Error reading the response: " + targetelement + e.toString());
            }
          } else {
            alert("There was a problem retrieving the data:\n" + xmlHttp.statusText);
          }
        }
        else {
          if (targetelement) targetelement.innerHTML = '<center><img align=center src="/img/wait20trans.gif" width=20 height=20 border="0"></center>';
        }
      };
      xmlHttp.send(null);
    }
    catch (e){
      alert("Can't connect to server:\n" + e.toString());
    }
    delete xmlHttp;
  }
}

function createXmlHttpRequestObject(){
  var xmlHttp;
  try{xmlHttp = new XMLHttpRequest();}
  catch(e){
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
      try { xmlHttp = new ActiveXObject(XmlHttpVersions[i]);}
      catch (e) {}
    }
  }
  if (!xmlHttp) alert("Error creating the XMLHttpRequest object.");
  else return xmlHttp;
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}


function in_array(myValue,myArray)
{
    function equals(a,b)
    {
//        return (a === b);
        return (a == b);
    }

    for (var i in myArray)
    {
        if (equals(myArray[i],myValue))
            return true;
    }

    return false;
}


// cookie handling functions
function createCookie(name,value,days) {
  if (days) {
  var date = new Date();
  date.setTime(date.getTime()+(days*24*60*60*1000));
  var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path="+cookiePath+"; domain="+cookieDomain;
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}

function delArrayElem(arr,elem) {
  var i=0;
  for (i=0;i<=arr.length;i++) {
    //if (arr[i]==elem) arr.splice(i,1);
    if (arr[i]==elem) arr[i]=0;
  }
  return arr;
}

// /cookie handling functions