/* Helper functions for Fjord 1*/
function enableVia(){
     document.getElementById('via1div').style.display = 'block';
     document.getElementById('enableViaButton').style.display = 'none';
}

function toggleReturn(boolVal){
     if(!boolVal){
       document.getElementById('datetime1').style.display = 'none';
       document.getElementById('time_1').disabled = true;
       document.getElementById('date_1').disabled = true;
       document.getElementById('datetime1_reset').checked = true;
     }else{
       document.getElementById('datetime1').style.display = 'block';
       document.getElementById('time_1').disabled = false;
       document.getElementById('date_1').disabled = false;
       document.getElementById('datetime1_reset').checked = false;
     }
}



function submitFormWithAjax(form)
{
  if((form != null) && (form.nodeName.toLowerCase() == "form"))
  {
    var param = getFormValues(form)+"&start=1";
  }
  return false;
}

function getFormValues(form)
{
  /* create new Formular to submit Values */
  var tmpForm = document.body.appendChild(document.createElement("form"));
  tmpForm.name = form.name + 'temporary';
  tmpForm.action = form.action;
  tmpForm.method = 'post';

  var fv = "";
  getParams = "";
  for(var i = 0; i < form.elements.length; i++)
    {

   // if(!form.elements[i].disabled)
   //   {
      if(form.elements[i].type == "checkbox")
      {
        if(form.elements[i].checked){
              fv += encodeHFSParameter(form.elements[i].name + "=" + form.elements[i].value);
              if(form.elements[i].name != '') {
                    var tmpInputField = document.createElement("input");
                    tmpInputField.setAttribute("type","hidden");
                    tmpInputField.name = form.elements[i].name;
                    tmpInputField.value = form.elements[i].value;
                    tmpForm.appendChild(tmpInputField);
              }

        }
      }
      else if(form.elements[i].type == "radio") {
          if(form.elements[i].checked){
                 fv += encodeHFSParameter(form.elements[i].name + "=" + form.elements[i].value);
                 if(form.elements[i].name != '') {
                       var tmpInputField = document.createElement("input");
                       tmpInputField.setAttribute("type","hidden");
                       tmpInputField.name = form.elements[i].name;
                       tmpInputField.value = form.elements[i].value;
                       tmpForm.appendChild(tmpInputField);
                 }
          }
      }
      else if(form.elements[i].name.match(/^HWAI/) != null)
        {
        getParams += form.elements[i].name + "=" + form.elements[i].value +"&";
        }
      else
        {
         if((form.elements[i].name != 'newrequest') && (form.elements[i].disabled != true)) {
                fv += encodeHFSParameter(form.elements[i].name + "=" + form.elements[i].value);
                if(form.elements[i].name != '') {

                   var tmpInputField = document.createElement("input");
                   tmpInputField.setAttribute("type","hidden");
                   tmpInputField.name = form.elements[i].name;
                   tmpInputField.value = form.elements[i].value;
                   tmpForm.appendChild(tmpInputField);
                }

         }
        }
      //}
    }
  tmpForm.submit();
  return fv;
}

function encodeHFSParameter(param)
{
  param = param.replace(/&amp;/g,"&");
  //split up
  var singleParam = param.split("&");
  var encodedParam = "",name,value;
  for(var i = 0; i < singleParam.length; i++)
    {
    name = singleParam[i].substring(0,singleParam[i].indexOf("="));
    value = encodeURIComponent(singleParam[i].substring(singleParam[i].indexOf("=")+1));
    if((name != "") && (value != ""))
      encodedParam += name+"="+value+"&";
    }
  return encodedParam;
}

function syncTimeInterval(time, selectbox){
   if(document.getElementById(selectbox) != null) {
      var options = document.getElementById(selectbox).getElementsByTagName("option");
      for(var i=0;i < options.length; i++) {
          if((options[i].value == time) && (i != 0)) {
              document.getElementById(selectbox).selectedIndex = i;
              return;
          }
      }
   }
}

function linkClick(e){
//if IE
    if(typeof event!='undefined'){
    //if the object clicked on has an href
     if(event.srcElement.href){
         if((event.srcElement.getAttribute("href",2).indexOf('http') == -1) && (event.srcElement.getAttribute("href",2).indexOf('javascript') == -1)) {
             event.srcElement.setAttribute("href","http://www.fjord1.no/"+event.srcElement.getAttribute("href",2));
         }
     }
    //else assume w3 standard (ns6+, mozilla)
    }else{
        //if the object clicked on has an href
        if(e.target.href){
         //alert(e.target.href.indexOf("http"));
         //alert(e.target.getAttribute("href"));
            if((e.target.getAttribute("href").indexOf("http") == -1) && (e.target.getAttribute("href").indexOf("javascript") == -1)) {
                e.target.href='http://www.fjord1.no/'+e.target.getAttribute("href");
            }
        }
    }
}

//global click handling
document.onclick=linkClick

function checkRelPaths(str){
  var obj = document.getElementsByTagName(str);
    for(var i=0;i < obj.length;i++) {
        checkAttr(obj[i],"src");
        checkAttr(obj[i],"action");
    }
}

function checkAttr(obj,str){
    if((typeof obj.getAttribute(str) != 'undefined') && (obj.getAttribute(str) != null)) {
          if((obj.getAttribute(str,2).indexOf('http') == -1) && (obj.getAttribute(str,2).indexOf('hafas-res') == -1)){
              var newvalue = "http://www.fjord1.no/" + obj.getAttribute(str,2);
              obj.setAttribute(str,newvalue);
          }
    }
}

//create onDomReady Event
window.onDomReady = initReady;

// Initialize event depending on browser
function initReady(fn)
{
  //W3C-compliant browser
  if(document.addEventListener) {
       document.addEventListener("DOMContentLoaded", fn, false);
    }
  //IE
  else {
        document.onreadystatechange = function(){readyState(fn)}
    }
}

//IE execute function
function readyState(func)
{
  // DOM is ready
  if(document.readyState == "interactive" || document.readyState == "complete")
  {
    func();
  }
}

window.onDomReady(onReady);

//do when DOM is ready
function onReady()
{
 checkRelPaths("img");
 checkRelPaths("form");
}





