function foo()
{}

function getURLParam(strParamName){
      var strReturn = "";
      var strHref = window.location.href;
      if ( strHref.indexOf("?") > -1 ){
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
          if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
            var aParam = aQueryString[iParam].split("=");
            strReturn = aParam[1];
            break;
          }
        }
      }
      return unescape(strReturn);
}
    
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	tag = tag || "*";
	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 HasClassName(objElement, strClass){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for ( var i = 0; i < arrList.length; i++ ){
			if ( arrList[i].toUpperCase() == strClassUpper ){
				return true;
			}
		}
	}
	return false;
}

function AddClassName(objElement, strClass, blnMayAlreadyExist){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		if(blnMayAlreadyExist){
			var strClassUpper = strClass.toUpperCase();
			for(var i = 0;i < arrList.length;i++){
				if(arrList[i].toUpperCase() == strClassUpper){
					arrList.splice(i, 1);
					i--;
				}
			}
		}
		arrList[arrList.length] = strClass;
		objElement.className = arrList.join(' ');
	}else{
		objElement.className = strClass;
	}
}

function RemoveClassName(objElement, strClass){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for(var i = 0;i < arrList.length;i++){
			if(arrList[i].toUpperCase() == strClassUpper){
				arrList.splice(i, 1);
				i--;
			}
		}
		objElement.className = arrList.join(' ');
	}
}

function collapseInactive(){
	var myDrawers		=	getElementsByClassName('drawer-handle','h2');
	var openDrawers	=	getElementsByClassName('open','h2');
	var i=0;var ffid=0;
	if(myDrawers[i].parentNode.childNodes[1].nodeName=='UL'){ffid=1;}else{ffid=3;}
	if(myDrawers.length > 0 ){
		for(i=0;i<myDrawers.length;i++) {
			AddClassName(myDrawers[i].parentNode.childNodes[ffid],'noshow');
			myDrawers[i].onmouseover=collapseOther;
		}
	}
	if(openDrawers.length > 0 ){
		for(i=0;i<openDrawers.length;i++) {
			RemoveClassName(openDrawers[i].parentNode.childNodes[ffid],'noshow');
		}
	}
}

function collapseOther(){
	var myDrawers		=	getElementsByClassName('drawer-handle','h2');
	var i=0;var ffid=0;
	if(myDrawers[i].parentNode.childNodes[1].nodeName=='UL'){ffid=1;}else{ffid=3;}
	if(myDrawers.length > 0 ){
		for(i=0;i<myDrawers.length;i++) {	
			AddClassName(myDrawers[i].parentNode.childNodes[ffid],'noshow');
			RemoveClassName(myDrawers[i],'open');
		}
	}
	RemoveClassName(this.parentNode.childNodes[ffid],'noshow');
	AddClassName(this,'open');
}

function AddLine(){
	AddClassName(this,'shover');
}

function RemoveLine(){
	RemoveClassName(this,'shover');
}

function subContent(){
	var i=0;
	var mySubcontent = getElementsByClassName('subcontent_box', 'div');
	if(mySubcontent.length > 0 ){
		for(i=0;i<mySubcontent.length;i++) {
			mySubcontent[i].onmouseover=AddLine;
			mySubcontent[i].onmouseout=RemoveLine;
		}
	}
}

function calcHeight(){
	var boekings_form= document.getElementById('boekingsform');
	var boekings_form_faq = document.getElementById('boekingsformFaq');
	var Floatingdiv = document.getElementById('Floatingdiv');
  //find the height of the internal page
  if(boekings_form){
  	boekings_form.height=0;
	  var the_height=boekings_form.contentWindow.document.body.scrollHeight+40;
	
	  //change the height of the iframe
	  boekings_form.height=the_height + 50;
	  boekings_form.style.Height=the_height + 50;
	  document.getElementById('boekingsform').style.height=the_height + "px";
	  if(boekings_form_faq)
	  {
	  document.getElementById('boekingsformFaq').style.height=the_height;
	  }
	  if(Floatingdiv)
	  {
	  Floatingdiv.style.height = the_height + "px";
	  }
	  
	}
	
}

function showOptions(){
	var form_options=document.getElementById('formoptions');
	var open_advanced_search=document.getElementById('open_advanced_search');
	if(HasClassName(form_options,'noshow')){
		RemoveClassName(form_options,'noshow');
		open_advanced_search.innerHTML='Verberg uitgebreide zoekopties';
	}else{
		AddClassName(form_options,'noshow');
		open_advanced_search.innerHTML='Toon uitgebreide zoekopties';
	}
	this.parent.calcHeight();
}

function showOptions_Header_Footer()
{
	var form_options=document.getElementById('formoptions');
	var open_advanced_search=document.getElementById('open_advanced_search');
	if(HasClassName(form_options,'noshow')){
		RemoveClassName(form_options,'noshow');
		open_advanced_search.innerHTML='Verberg uitgebreide zoekopties';
	}else{
		AddClassName(form_options,'noshow');
		open_advanced_search.innerHTML='Toon uitgebreide zoekopties';
	}
	document.domain = "schipholtickets.nl";
	this.parent.calcHeight_Header_Footer();
}

function relNoFollow(){
  var FakeLinks = document.getElementsByTagName('span');
  if( FakeLinks.length > 0 ){
    for( var i = 0; i < FakeLinks.length; i++ ){
      if(( FakeLinks[i].title.indexOf( 'http://' ) != -1 )||( FakeLinks[i].title.indexOf( 'https://' ) != -1 )){
      	AddClassName(FakeLinks[i],'fakelink');
        FakeLinks[i].onmouseout = fakelinkMouseOut;
        FakeLinks[i].onmouseover = fakelinkMouseOver;
        if(HasClassName(FakeLinks[i],'blank')){
	        FakeLinks[i].onclick = fakelinkClickNew;
	      }else{
	      	FakeLinks[i].onclick = fakelinkClick;
	      }
      }
    }
  }
  var FakeImageLinks = document.getElementsByTagName('img');
  if( FakeImageLinks.length > 0 ){
    for( var i = 0; i < FakeImageLinks.length; i++ ){
      if(( FakeImageLinks[i].title.indexOf( 'http://' ) != -1 )||( FakeImageLinks[i].title.indexOf( 'https://' ) != -1 )){
      	AddClassName(FakeImageLinks[i],'fakelink');
        FakeImageLinks[i].onmouseout = fakelinkMouseOut;
        FakeImageLinks[i].onmouseover = fakelinkMouseOver;
        if(HasClassName(FakeImageLinks[i],'blank')){
	        FakeImageLinks[i].onclick = fakelinkClickNew;
	      }else{
	      	FakeImageLinks[i].onclick = fakelinkClick;
	      }
      }
    }
  }
}
 
function fakelinkMouseOver(){
	RemoveClassName(this,'fakelink');
	AddClassName(this,'fakelink-hover');
}
 
function fakelinkMouseOut(){
	RemoveClassName(this,'fakelink-hover');
	AddClassName(this,'fakelink');
}

function fakelinkClick(){
  var FakeLinkWindow = window.open(this.title,'_top','');
}

function fakelinkClickNew(){
  var FakeLinkWindow = window.open(this.title,'_blank','');
}

addLoadEvent(relNoFollow);



function CloseResultList()
{
    if(document.getElementById('boekingsform'))
    {
        document.getElementById('boekingsform').contentWindow.endSearch();    
    }
}

function ValidateForm()
{
    var i = 0
    strErrorMsg = "";
    
    if(!validate_text('Voornaam', 'Voornaam is verplicht'))
    {
        i++;
    }
    if(!validate_text('Achternaam', 'Achternaam is verplicht'))
    {
        i++
    }
    if(!validate_email('Emailadres', 'Dit emailadres is niet correct ingevuld.', true))
    {
        i++
    }
    
    if(i == 0)
    {
        document.contactemail.submit();
    }
} 


/* Standaard validatie functies */
var invalidBgColor = '#ff8d8d';
var invalidFontcolor = '#333333';
var validBgColor = '#94e684';
var validFontcolor = '#333333';

/* globale regular expressions */
var g_ReEx_numeric = /^([0-9])+$/
var g_ReEx_email =	/^[^"@;'/"]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/
var g_ReEx_money = /^[0-9]+([\,][0-9]{1,2})?$/
var g_ReEx_phonenumber = /^(0)([0-9-])+([0-9])$/
var g_ReEx_boolean = /^([0,1]{1})$/
var g_ReEx_dutchzipcode = /^([0-9]{4})([a-zA-Z]{2})$/
var g_ReEx_xmldatetime = /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/
var g_ReEx_Price = /^[0-9]+([.,]?[0-9]{1,2})?$/
var g_ReEx_Percentage0_100 = /^[0-9]{1,2}[.,]{0,1}[0-9]{0,1}[0-9]{0,1}$/
var g_ReEx_Number0_100 = /^[0-9]{1,2}$/
var g_ReEx_Number999 = /^[0-9]{3,5}$/


// functie voor het bepalen van de kleur van de input field
function ToggleInputFields(fieldname, blnValid)
{
    if(blnValid)
    {
        //alert(blnValid);

        fieldname.style.color = validFontcolor;
        fieldname.style.background = validBgColor;
    }
    else
    {
        fieldname.style.color = invalidFontcolor;
        fieldname.style.background = invalidBgColor;
        //ErrorMsg += fielddescription + " is verplicht <br/>";
    }
}

// functie om te checken of er iets is ingetypt
function validate_text(fieldid, message)
{
    blnValid = false;
    fieldname = document.getElementById(fieldid);
     
    if (fieldname.value == "")
    {
        ToggleInputFields(fieldname, false);
        ShowHideValidationQuickTip(fieldid, message, false);
    }
    else
    {
        ToggleInputFields(fieldname, true);
        ShowHideValidationQuickTip(fieldid, message, true);
        blnValid = true;
    }
    return blnValid;
}

function validate_textarea(fieldid, message)
{
    blnValid = false;
    fieldname = document.getElementById(fieldid);
     
    if (fieldname.innerHTML == "")
    {
        ToggleInputFields(fieldname, false);
        ShowHideValidationQuickTip(fieldid, message, false);
    }
    else
    {
        ToggleInputFields(fieldname, true);
        ShowHideValidationQuickTip(fieldid, message, true);
        blnValid = true;
    }
    return blnValid;
}

function validate_email(fieldname, message, blnRequired)
{
    return validate_regexfield(fieldname, "email", message, blnRequired);
}

function validate_phonenumber(fieldname, message, blnRequired)
{
    return validate_regexfield(fieldname, "phonenumber", message, blnRequired);
}

function validate_postalcode(fieldname, message, blnRequired)
{
    return validate_regexfield(fieldname, "postalcode", message, blnRequired);
}

function validate_regexfield(fieldid, regtype, message, blnRequired)
{
     var blnValid = false;
     fieldname = document.getElementById(fieldid);
     var regex;
     
     switch(regtype)
     {
        case "email":
        regex = g_ReEx_email;
        break;
        case "phonenumber":
        regex = g_ReEx_phonenumber;
        break;
        case "postalcode":
        regex = g_ReEx_dutchzipcode;
        break;
     }
     

     if(blnRequired && fieldname.value == "")
     {       
        ToggleInputFields(fieldname, false);
        ShowHideValidationQuickTip(fieldid, message, false);
     }
     else if(!blnRequired && fieldname.value == "")
     {
        ToggleInputFields(fieldname, true);
        ShowHideValidationQuickTip(fieldid, message, true);
        blnValid = true;
     }
    else if(!checkExpression(fieldname.value, regex))
     {
        ToggleInputFields(fieldname, false);
        ShowHideValidationQuickTip(fieldid, message, false);
     } 
     else 
     {
       ToggleInputFields(fieldname, true);
        ShowHideValidationQuickTip(fieldid, message, true);
        blnValid = true;
     }
     
     return blnValid;
}

function validate_fileinput(fieldname, extensions, message, blnrequired) 
{
  var blnValid = false;
  var ext = document.getElementById(fieldname).value;
  ext = ext.substring(ext.lastIndexOf(".") + 1);
  ext = ext.toLowerCase();
  
  var count = 0;  
  arrExtensions = extensions.split(",");
  
  for(i=0;i<arrExtensions.length;i++)
  {
    if(ext == arrExtensions[i])
    {
        count++;
    }
  }
  if(blnrequired && ext == "")
  {
    ToggleInputFields(document.getElementById(fieldname), false);
    ShowHideValidationQuickTip(fieldname, message, false);
  }
  else if(!blnrequired && ext == "") 
  {
    ToggleInputFields(document.getElementById(fieldname), true);
    ShowHideValidationQuickTip(fieldname, message, true);
    blnValid = true;
  }
  else if(count > 0)
  {
    ToggleInputFields(document.getElementById(fieldname), true);
    ShowHideValidationQuickTip(fieldname, message, true);
    blnValid = true;
  }
  else
  {
    ToggleInputFields(document.getElementById(fieldname), false);
    ShowHideValidationQuickTip(fieldname, message, false);
  }
  return blnValid;
}


function ShowQuickTip(fieldname, message)
{
    if(document.getElementById("msg_" + fieldname))
    {
        document.getElementById("msg_" + fieldname).style.display = "block";
        document.getElementById("msg_" + fieldname).innerHTML = message;
    }
}
function HideQuickTip(fieldname)
{
    if(document.getElementById("msg_" + fieldname))
    {
        document.getElementById("msg_" + fieldname).style.display = "none";
    }
}

function ShowHideValidationQuickTip(fieldname, message, valid)
{
    if(valid)
    {
        if(document.getElementById("warn_" + fieldname) && document.getElementById("msg_" + fieldname))
        {
            document.getElementById("warn_" + fieldname).style.display = "none";
            document.getElementById("msg_" + fieldname).style.display = "none";
            document.getElementById("msg_" + fieldname).innerHTML = "";
        }
        if(document.getElementById("info_" + fieldname))
        {
            document.getElementById("info_" + fieldname).style.display = "none";
        }
        if(document.getElementById("ok_" + fieldname))
        {
            document.getElementById("ok_" + fieldname).style.display = "block";
        }
        
    }
    else
    {
        if(document.getElementById("info_" + fieldname))
        {
            document.getElementById("info_" + fieldname).style.display = "none";
        }
        if(document.getElementById("ok_" + fieldname))
        {
            document.getElementById("ok_" + fieldname).style.display = "none";
        }
        
        if(document.getElementById("warn_" + fieldname) && document.getElementById("msg_" + fieldname))
        {
            document.getElementById("warn_" + fieldname).style.display = "block";
            
            document.getElementById("warn_" + fieldname).onmouseover = function()
            {
                document.getElementById("msg_" + fieldname).style.display = "block";
                document.getElementById("msg_" + fieldname).innerHTML = message;
            }
            document.getElementById("warn_" + fieldname).onmouseout = function()
            {
                document.getElementById("msg_" + fieldname).style.display = "none";
                document.getElementById("msg_" + fieldname).innerHTML = "";
            }
        }
    }
}

/*  functie om een reguliere expressie te checken*/
function checkExpression(strValue, strRegExp)
{

	var myRegExp	= new String(strRegExp);
	var intPos		= myRegExp.indexOf('@');
	var blnEmail	= intPos > 0;

	if(blnEmail && trimspaces(strValue) == '')
	{
		//Floris: Expressie is een email, dus niet checken indien leeg (wordt in form object ander altijd aangezien als fout e-mail adres
		return true;
	}
	
	var blnReg = false;
	var filter  = strRegExp;
	if (filter.test(strValue)) {
		blnReg = true;
	};
	return blnReg;
}

/* functie om bij voor en achter een string de lege spaties weg te halen. */
function trimspaces(strValue)
{
	strValue=strValue.replace(/^[\s]+/g,"");
    strValue=strValue.replace(/[\s]+$/g,"");
	return strValue;
};

/*
    $(function(){
    $("#departureDate").datepicker({
		    minDate: '0',
		    numberOfMonths: 2,
		    showButtonPanel: true,
		    dateFormat: "dd/mm/yy"
		});
	});
*/

function CopyDate(elementID)
{
    var SelectedDate = document.getElementById(elementID).value;
    document.getElementById('hiddenDate').value = SelectedDate;
}

function CopyDate_header_footer(elementID)
{
    //var SelectedDate = document.getElementById(elementID).value;
    //document.getElementById('hiddenDate').value = SelectedDate;
    //document.getElementById('returnDate').value = SelectedDate;
}

function setValue(id, number)
{
    document.getElementById(id).SelectedIndex = 4;
}