//lisätään stringiin trim-functio
function trim(str) {
  if(!str) return '';
	var	str = str.replace(/^\s\s*/, ''),
		   ws = /\s/,
		    i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

//lisätään elementtiin hasClassName() functio
function hasClassName(ele,className) {
  if(!ele||!ele.className) return;
  
  var reg = new RegExp("(^|\\s+)"+className+"(\\s+|$)");
  return reg.test(ele.className);
}

//korvaa stringistä kohdat
function replaceAll(oldStr,findStr,repStr) {
  var srchNdx = 0;  
  var newStr = '';  
  while (oldStr.indexOf(findStr,srchNdx) != -1) {
    newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
    newStr += repStr;
    srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
  }
  newStr += oldStr.substring(srchNdx,oldStr.length);
  return newStr;
}

//lisää elementtiin classNamen
function addClassName(ele,clsname) 
{
  if(!ele || ele.nodeType!=1 || clsname.length<=0)
    return;
  ele.className+=' '+clsname;
}

//poistaa elementistä halutun classNamen
function removeClassName(ele,className) 
{
  if(!ele||!ele.className) return;
  
  //var reg = new RegExp("(^|\\s+)"+className+"(\\s+|$)","g");
  //ele.className.replace(reg,"");
  //return reg.test(ele.className);
  
  var arr = ele.className.split(' ');
  var res = "";
  for(var i=0;i<arr.length;i++) {
    var val = trim(arr[i]);
    if(className==val)
      continue;  
    res+=' '+val;  
  }    
  ele.className=res.substr(1);  
}

function toggleHiddenPPDiv(eleId,ppindx)
{
  for(i=1;i<5;i++){
    var pph = document.getElementById('ppHeader_'+i);
    if(hasClassName(pph,'activePPH')) {
      removeClassName(pph,'activePPH');
    }
  }  

  var he = document.getElementById('ppHeader_'+ppindx);
  addClassName(he,'activePPH');

  for(i=1;i<5;i++){
    var e = document.getElementById('pp_'+i);
    if(!hasClassName(ele,'hidden')){
      addClassName(e,'hidden');
    }
  }

  var ele = document.getElementById(eleId);
  if(!ele) return;

  if(hasClassName(ele,'hidden')) {
    removeClassName(ele,'hidden');    
  } else {
    addClassName(ele,'hidden');  
  }
}

//palauttaa GETistä name nimisen parametrin arvon jos löytää
function getUrlParameter(name)
{
  var str = window.location.href;
  str     = str.substr(str.indexOf('?')+1);
  //poistetaan #-merkit jotka voi sotkee kaiken
  str = replaceAll(str,'#','');
  //luodaan taulukko ja käydään se läpi
  var arr = str.split('&');
  
  for(var i=0;i<arr.length;i++) {
    tmp = arr[i].split('=');
    if(tmp[0]==name)
      return tmp[1];
  }
  
  return false;
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function pageCheck() {
  var page = document.getElementById('ppHeader_1');
  //var page = getUrlParameter('id');
  if(page) {
    var pp = getUrlParameter('pp');
    if(pp){
      toggleHiddenPPDiv('pp_'+pp,pp);
    } else {
      toggleHiddenPPDiv('pp_1','1');
    }
  }
}

addLoadEvent(pageCheck);

