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

function tab(meta,pid,cat){
  var holder=ge("panel_under_tabs");
  var url="ajax.getratedmeta.php?ptype="+meta+(pid?"&pid="+pid:"")+(cat?"&cat="+cat:"");
  var table=ge("panel_tabs");
  var cells=table.getElementsByTagName("td");
  for (i=0;i<cells.length;i++){
    if (cells[i].id=="tab_"+meta){
      cells[i].className="tab_active";
      ajaxGet(holder,url);
    } 
    else {
      cells[i].className="tab";    
    }
  }
}



function getFreePosition(ca) {
  for (i=0;i<ca.length;i++) {
    if (ca[i]==0) return i;
  }
  return false;
}


function addToPosition(ca,pid) {
  var f=getFreePosition(ca);
  ca[f]=pid;
  return ca;
}

function fixCookie(ca) {
  if (ca.length!=10) {
    var c=ca.length;
    for(c=ca.length;c<10;c++) {
      ca.push(0);
    }
  }
  return ca;
}

function addtopanel(guyid,pid){
  if (guyid=="new"){
    if (cv=readCookie("hertastepanel")){
      var ca=cv.split("%2C");
      ca = fixCookie(ca);
      if (getFreePosition(ca)===false){
        ge("addtopanel"+pid).innerHTML="Your panel is full";
        return;
      } 
      if (!in_array(pid,ca)){
        if (pid>0) ca=addToPosition(ca,pid);
        createCookie("hertastepanel",ca.join('%2C'),7);
      }
    } else {
      createCookie("hertastepanel",pid+"%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0",7);
    }
    ge("addtopanel"+pid).innerHTML="<a href='javascript:delfrompanel(\""+(guyid?guyid:"new")+"\","+pid+")'>Remove from Panel</a>";
    var paneldata=ge("panelistdata");
    var yourpanel = ge("yourpanel");
    var url2="ajax.getpaneldata.php";
    var hideme = ge("pan"+pid);
    if (paneldata) ajaxGet(paneldata,url2);
    if (hideme && yourpanel) hideme.style.display="none";
    //alert(readCookie("hertastepanel"));
  } else {
    var yourpanel = ge("yourpanel");
    var targetcell=ge("addtopanel"+pid);
    var paneldata=ge("panelistdata");
    var url="ajax.addtopanel.php?id="+guyid+"&p="+pid;
    var url2="ajax.getpaneldata.php";
    var hideme = ge("pan"+pid);
    ajaxGet(targetcell,url);
    if (paneldata) ajaxGet(paneldata,url2);
    if (hideme && yourpanel) hideme.style.display="none";
    //window.location.reload();
  }
}

function delfrompanel(guyid,pid){
  if (guyid=="new"){
    if (cv=readCookie("hertastepanel")){
      var ca=cv.split("%2C");
      ca = delArrayElem(ca,pid);
//      if (ca.join('%2C')=="0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0") { 
//        eraseCookie("hertastepanel");
//      } else {
        createCookie("hertastepanel",ca.join('%2C'),7);
//      }
    }
    var tce = ge("addtopanel"+pid);
    if (tce && tce.style.visible=="block") tce.innerHTML="<a href='javascript:addtopanel(\""+(guyid?guyid:"new")+"\","+pid+")'>Add to your Panel</a>";
    else window.location.reload();
    //alert(readCookie("hertastepanel"));
  } else {
    var targetcell=ge("addtopanel"+pid);
    var url="ajax.delfrompanel.php?id="+guyid+"&p="+pid;
    ajaxGet(targetcell,url);
  }
}

function ratingsbytype(panelistid,ptype){
  var targetcell=ge("ratedproductsdiv");
  var url="ajax.getratedproducts.php?id="+panelistid+"&ptype="+ptype;
  ajaxGet(targetcell,url);
}

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


function popup(url,wid,hei,res,windowname) {
  if(isNaN(parseInt(wid)))wid=480
  if(isNaN(parseInt(hei)))hei=400
  if (!res) res='yes'
  if (!windowname) windowname='new'
  wind = open(url, windowname, "width="+wid+",height="+hei+",status=no,toolbar=no,menubar=no,scrollbars=yes,screenX=10,screenY=10,resizable="+res);
}

function onoff(id,value,dstyle) {
  d = document.getElementById(id);
  if (dstyle==undefined) {
    dstyle='block';
  }
//  alert('doing (\''+id+'\','+value+','+dstyle+')');
  if (value!=undefined) {
    if (value){
      d.style.display = dstyle;
    } else {
      d.style.display = 'none';
    }
  } else {
    if (d.style.display!="none"){
      d.style.display='none';
    } else {
      d.style.display=dstyle;    
    }
  }
}

function regions(reg){
  ajaxGet(ge("regnames"),"geoip/geo.php?newcc="+reg,1);
}
function regions_v2(reg){
  ge("regname").innerHTML=(reg=="US"?"Zipcode":(reg=="CA"?"Province":"Region"));
  ajaxGet(ge("regvalue"),"geoip/geo.v2.php?newcc="+reg,1);
}

function regions_v2(reg){
  if(reg){
    ge("regname").innerHTML=(reg=="US"?"State":(reg=="CA"?"Province":"Region"));
    ajaxGet(ge("regvalue"),"../geoip/geo.v2.php?nozip=1&newcc="+reg,1);
  } 
  else {
    ge("region").innerHTML="<option value=''>Select Region:</option>";
  }
}


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function initOverLabels () {
if (!document.getElementById) return;

var labels, id, field;

labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {

if (labels[i].className == 'overlabel') {

id = labels[i].htmlFor || labels[i].getAttribute('for');
if (!id || !(field = document.getElementById(id))) {
continue;
}
labels[i].className = 'overlabel-apply';
if (field.value !== '') {
hideLabel(field.getAttribute('id'), true);
}
field.onfocus = function () {
hideLabel(this.getAttribute('id'), true);
};
field.onblur = function () {
if (this.value === '') {
hideLabel(this.getAttribute('id'), false);
}
};
labels[i].onclick = function () {
var id, field;
id = this.getAttribute('for');
if (id && (field = document.getElementById(id))) {
field.focus();
}
};
}
}
};

function hideLabel (field_id, hide) {
var field_for;
var labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {
field_for = labels[i].htmlFor || labels[i].getAttribute('for');
if (field_for == field_id) {
labels[i].style.textIndent = (hide) ? '-9999px':'0px';
return true;
}
}
}

var showmore="";

function showMore(id,over){
  var cont=ge('showmore');
  if ((cont.style.display!="none" && showmore==id && !over) || !id) {
    cont.style.display="none";
    showmore="";
  }
  else {
    if (id=="about") cont.innerHTML="<div class=c style='position:relative;'><div class=close onclick=\"showMore(0)\" style='position:absolute;top:0px;right:0px;'>x</div><img src='cdb/doyourpart.jpg' width=430 height=135 border=0 style='margin-left:-10px;margin-right:-10px;'>"+helps[id]+"</div>";
    else cont.innerHTML="<div class=close onclick=\"showMore(0)\">x</div><div class=c>"+helps[id]+"</div>";
//    if (id=='photo') cont.style.borderBottomWidth='0px';
//    else cont.style.borderBottomWidth='1px';
    cont.style.display="block";
    showmore=id;
  }
}
function showEvenMore(id){
  var cont=ge("previewmail");
  cont.innerHTML="<div class=close onclick=\"onoff('previewmail',0)\">x</div><div class=c>"+helps[id]+"<br><br><a href='#' onclick=\"onoff('previewmail',0);return false;\" class=button>OK, I see now, please close this</a></div>";
  cont.style.display="block";
}

function feedbackSubmit(){  
  var s=document.getElementById('commentform');
  var ss=document.getElementById('fakereport');

  if (!s.feedbackcomment.value || s.feedbackcomment.value=="Please, tell us whats wrong with this profile?"){
    return;
  }
  if (xmlHttp=createXmlHttpRequestObject())
  {
    try
    {
      xmlHttp.onreadystatechange =  function(){
        if (xmlHttp.readyState > 0 && xmlHttp.readyState < 4){
          ss.innerHTML = "Submitting data...<br/>";
          s.style.display='none';
        } else if (xmlHttp.readyState == 4){
          if (xmlHttp.status == 200) {
            try{
              response = xmlHttp.responseText;
              if (response=="OK"){
                s.style.display='none';
                ss.style.color = "black";
                ss.innerHTML =  "<br><b>Thank you</b>, <br>we will check this profile ASAP.<br><br>";
              } else {
                ss.innerHTML = "<br><b>Error:</b><br>" + response;
                ss.style.color = "red";
                s.style.display='block';
              }
            }
            catch(e){
              alert("Error reading the response: " + e.toString());
            }
          } else {
            alert("There was a problem retrieving the data:\n" + xmlHttp.statusText);
          }
        }
      }
      var values="feedbackcomment="+encodeURIComponent(s.feedbackcomment.value)+
      "&gid="+s.gid.value;

      xmlHttp.open("POST", "/reportfakes.php", true);
      xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", values.length);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.send(values);
    }
    catch (e)
    {
      alert("Can't connect to server:\n" + e.toString());
    }
  }
}
