var $ = function( id )
{
	return document.getElementById( id );
}

// * -wykorzystywana w ajax.js
function echo( sMessage )
{
    var arrGet = new Array();
    arrGet = getUrlVars();    
    if ( arrGet['dev'] )
    {
        alert( sMessage );
    }
}

// * -wykorzystywana
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function addClassName(oEl, sClassName) {
    if (!oEl.className.match(new RegExp("" + sClassName + "", "i")))
        oEl.className += (oEl.className ? " " : "") + sClassName;
}

function isClassName (oEl, sClassName) {
    if (oEl.className.match(new RegExp("" + sClassName + "", "i")))
        return true;
    else
        return false;
}

function removeClassName(oEl, sClassName) {
    oEl.className = oEl.className.replace(new RegExp(" \\b" + sClassName + "\\b|\\b" + sClassName + "\\b ?", "gi"), "");
}



// * -wykorzystywana m.in. na step3
function openUrl(new_url)
{
  window.location=new_url;
}


/*
reload POSTEM formularz step5
 uzywana w bookingvalidator i na step5
*/
function autoSubmitBookForm(form_name)
{
  document.getElementById(form_name).action = '';
  document.getElementById(form_name).submit();
}

/* ##################################
funkcje z pliku script.js
#################################### */

var op = /opera/i.test(navigator.userAgent);
var ie = !op && /msie/i.test(navigator.userAgent);	     
var mz = !op && /mozilla\/5/i.test(navigator.userAgent); 

function activateDetailView() {
  var arr = document.getElementsByTagName('A');
  for (var i=0; i<arr.length; i++) {
    if (arr[i].className.indexOf('detail') == -1) continue;
    arr[i].onclick = function () {
      var tr = findParentElement( this, 'TR' );
      if (tr) {
        tr = tr.nextSibling;
        while (tr.nodeType != 1) tr = tr.nextSibling;
        if (!tr) return true;
        var td = tr.cells[0];
        if (td.style.display != 'none' && td.style.display != '' ) {
          td.style.display = 'none';
          if ( ie ) tr.style.display = 'none';
        } else {
          if ( ie ) {
            td.style.display = 'block';
            tr.style.display = '';
          } else {
            td.style.display = 'table-cell';
          }
        }
      }
      return false;
    }
  }
}
// f dla activateDetailView
function findParentElement( node, tag ) {
  var res = null;
  tag = tag.toUpperCase();
  while (node && node.tagName != tag) {
    node = node.parentNode;
  } 
  if (node && node.tagName == tag) res = node;
  return res;
}


/*
* changeVideo - podmienia video
*  what - co podmienic
* ./templates/podrozetv/images/flvplayer.swf	
* nie wykorzystywane
*/	
function changeVideo(what,swfPlayer)
{
  document.getElementById("tm_imageBox").style.display="none";
  document.getElementById("tm_videoBox").style.display="block";
  if (what.match('.flv'))
  {
    var FU = { movie: swfPlayer,width:"320",height:"285",majorversion:"7",wmode:"transparent",build:"0",bgcolor:"#FFFFFF",allowfullscreen:"false",
  	flashvars:'file=' + what + '&showdigits=false&autostart=true' };
  	UFO.create(	FU, "videoContent");
  }
  else
  {
  	document.getElementById("videoContent").innerHTML='';
  	document.getElementById("videoContent").innerHTML='<object classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" type="application/x-oleobject" width="320" height="285"><param id="videoParamFileName" name="FileName" value="'+what+'"><param name="autostart" value="1"><embed id="videoEmbedFileName" type="application/x-mplayer2" width="320" height="285" filename="'+what+'" autostart="1"></embed></object>';
  }
  return false;
}

function stopvideo(what)
{
	document.getElementById("videoContent").innerHTML='';
	return false;
}

	/*
	* Pobiera wartosc pola tripTransport2 jezeli pole jest typu radio
     * Uzywane min w wyszukiwarkach .tpl
	*/	
	function getTripTransport2Value()
	{
    tt2 = document.forms.step1.elements.tripTransport2;
    for (i=0; i<tt2.length; i++)
    {
      if (tt2[i].checked)
      { 
        return tt2[i].value;
      }
    }
	}
	
	/*
  * prepareCountriesListCatTran - podmienia kraje w wyszukiwarce na te odpowiednie dla wybranej kategorii i dla wybranego transportu
  */    
  function prepareCountriesList(cat_id,transport,defaultName,defaultVal)
  {
    el = document.forms.step1.elements;
    el["tripCountryName"].innerHTML = "";
    //tworzymy sobie pusty option
    opt = document.createElement('OPTION');
    opt.value = "";
    opt.text = defaultName;
	  el["tripCountryName"].options.add(opt); 
	  
	  ifTransport = false;
	  ifCategory = false;
	  arrAvailable = new Array(); //lista dostepnych karjow potrzebnych do okreslenia wartosci domyslnej
	  
	  for( var i = 0; i < arrCountries.length; i++) 
    {
      ifCategory = false;
      ifTransport = false;
      if (arrCountries[i]['categories'][cat_id] == 1 || cat_id == "" || cat_id == undefined || cat_id == 0)
      {
        ifCategory = true;
      }
      if (arrCountries[i]['transport'][transport] == 1 || transport == "" || transport == undefined || transport == 0)
      {
        ifTransport = true;
      }
      
      if (ifCategory && ifTransport)
      {
        opt = document.createElement('OPTION');
		    opt.value = arrCountries[i]["key"];
        opt.text = arrCountries[i]["name"];
        el["tripCountryName"].options.add(opt);
        arrAvailable[arrCountries[i]["key"]] = 1;
      }
    }
    if (defaultVal != undefined && defaultVal != "" && defaultVal != 0)
    {
      if (arrAvailable[defaultVal] == 1)
      {
        el["tripCountryName"].value = defaultVal;
      }
      else
      {
        //prepareTranList("",defaultName,el.tripTransport2.value);
        prepareTranList("",defaultName,getTripTransport2Value()); //jezeli pole transport jest typu radio
      }
    }
	}
	/*
  * prepareTranList - podmiana listy transportow na te ktore sa dostepne dla danego kraju
  */  
	function prepareTranList(countryVal,defaultName,defaultVal)
	{
	return true;
    el = document.forms.step1.elements;
    if (el["tripTransport2"].type=='select') {
	    el["tripTransport2"].innerHTML = "";
	    //tworzymy sobie pusty option
	    opt = document.createElement('OPTION');
	    opt.value = "";
	    opt.text = defaultName;
	    
		el["tripTransport2"].options.add(opt);
	  }
	  arrAvailable = new Array(); //lista dostepnych transportow potrzebnych do okreslenia wartosci domyslnej
	  //ustawiam wszystkie dostepne transporty
	  if (countryVal == undefined || countryVal == "")
    {
      for( var k = 0; k < arrTransport.length; k++) 
      {
        opt = document.createElement('OPTION');
		    opt.value = arrTransport[k]["key"];
        opt.text = arrTransport[k]['name'];
        el["tripTransport2"].options.add(opt);
        arrAvailable[arrTransport[k]["key"]] = 1;
      }
    }
    //ustawiam transporty dostepne dla danego kraju
    else
    {
  	  for( var i = 0; i < arrCountries.length; i++) 
      {
        if (arrCountries[i]['key'] != countryVal)
        {
          continue;
        }
        for( var k = 0; k < arrTransport.length; k++) 
        {
          if (arrCountries[i]['transport'][arrTransport[k]['key']] != 1)
          {
            continue;
          }
          opt = document.createElement('OPTION');
  		    opt.value = arrTransport[k]["key"];
          opt.text = arrTransport[k]['name'];
          el["tripTransport2"].options.add(opt);
          arrAvailable[arrTransport[k]["key"]] = 1;
        }
        break;
      }
    }
    //ustawiam wartosc domyslna
    if (defaultVal != undefined && defaultVal != "" && defaultVal != 0)
    {
      if (arrAvailable[defaultVal] == 1)
      {
        el["tripTransport2"].value = defaultVal;
      }
      else
      {
        prepareLeavingFromList('',defaultName)
      }
    }
	}
	
	/*
  * repareCountriesList - podmiana listy "wyjazdow z" na zalezna od transportu
  */  
  function prepareLeavingFromList(transport,defaultName)
  {
    el = document.forms.step1.elements;
    el["tripFrom"].innerHTML = "";
    //tworzymy sobie pusty option
    opt = document.createElement('OPTION');
    opt.value = "";
    opt.text = defaultName;
    el["tripFrom"].options.add(opt);
    
    for (i = 0; i < arrWyjazdy.length; i++)
    {
      if (transport != "" && transport != undefined && transport != 0) //zalezne od transportu
      {
        if (arrWyjazdy[i]['transport'][transport] == 1)
        {
          opt = document.createElement('OPTION');
          opt.value = arrWyjazdy[i]['id'];
          opt.text = arrWyjazdy[i]['name'];
          el["tripFrom"].options.add(opt); 
        }
      }
      /*
      else //wszystkie miejsca wyjazdu
      {
        opt = document.createElement('OPTION');
        opt.value = arrWyjazdy[i]['id'];
        opt.text = arrWyjazdy[i]['name'];
        el["tripFrom"].options.add(opt); 
      }*/	
    }
  }
  
  
  /*
  * getStyle ; uzywane w bookingvalidatorTrips_new
  */         
  function getStyle( oElm, strCssRule)
  {
    var strValue = "";
    if( document.defaultView && document.defaultView.getComputedStyle )
    {
      strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle)
    {
      strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
      return p1.toUpperCase(); });
      strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
  }   


  /*
  * showPicGall
  **/      
  function showPicGall (pic, nameLink, cPic) 
  {
  	//commented by chester
    //document.getElementById("tm_videoBox").style.display="none";
    //document.getElementById("tm_imageBox").style.display="block";

    for( var i=0; i< cPic; i++) 
    {
      if (document.getElementById('changeImgLink'+i)) 
      {
        if ( ('changeImgLink'+i ) == nameLink )
        {
          //bold
          //document.getElementById(nameLink).style.fontWeight= 'bold';
          document.getElementById('changeImgLink'+i).className = 'active';
        }
        else
        {
          //none
          //document.getElementById('changeImgLink'+i).style.fontWeight= 'normal';
          document.getElementById('changeImgLink'+i).className = '';
          if (document.getElementById('changeImgLink_'+i)) {
          	//document.getElementById('changeImgLink_'+i).style.fontWeight= 'normal';
          	document.getElementById('changeImgLink_'+i).className = '';
          }
        }
      }
    }
    document.getElementById('placeholder').src = pic;
    return false;
  }  
	
