// Scripts (C) Holidayhome.be
function SubmitButton (btn) {
  if (btn) {
    btn.disabled = true;
  }
}

function updateCR(cmbCountry, cmbRegio) {
  // Get country code
  var countryCode = cmbCountry.options[cmbCountry.selectedIndex].value;

  // Update cmbRegio
  cmbRegio.options.length = 1;
  cmbRegio.selectedIndex = 0;
	if (cmbRegio.options.length > 0) {
		if (cmbRegio.options[0].value != '') {
			cmbRegio.options.length = 0;
			cmbRegio.selectedIndex = -1;
		}
	}

  for (var i = 0; i < aRegio.length; i++) {
    if (aRegio[i][0] == countryCode) {
      cmbRegio.options.length++;
			cmbRegio.options[cmbRegio.options.length - 1].value = aRegio[i][2];
			cmbRegio.options[cmbRegio.options.length - 1].text = aRegio[i][1];
		}
  }	
}

function updateCRActive(cmbCountry, cmbRegio) {
  var curRegio = cmbRegio.options[cmbRegio.selectedIndex].value;
  updateCR(cmbCountry, cmbRegio);
  
  for (var i = 0; i < cmbRegio.options.length; i++) {
    if (cmbRegio.options[i].value == curRegio) {
      cmbRegio.selectedIndex = i;
		}
  }
}

function toggleDisplay(elem) {
  if (document.getElementById(elem).style.display == 'none') {
    document.getElementById(elem).style.display = 'block';
  } else {
    document.getElementById(elem).style.display = 'none';  
  }
}

function toggleLanguageDisplay(elem, lng) {
  document.getElementById(elem + '_nl').style.display = 'none';
  document.getElementById(elem + '_en').style.display = 'none';
  document.getElementById(elem + '_fr').style.display = 'none';
  document.getElementById(elem + '_de').style.display = 'none';
  toggleDisplay(elem + '_' + lng);
}

function toggleClassName(elem, class1, class2) {
	if (document.getElementById(elem).className == class1) {
		document.getElementById(elem).className = class2;
	} else {
		document.getElementById(elem).className = class1;
	}
}

function scrollIntoViewport(elem) {
  document.getElementById(elem).scrollIntoView(true);
}

function changeId (toUrl, toId) {
  location.href = toUrl + "?id=" + toId;
}

function changeURL (toUrl) {
  location.href = toUrl;
}

function inputMask(ctrl) {
  //onKeyDown="return inputMask(this);"
  //onBlur="return inputMask(this);"
  // Get mask
  var mask = ctrl.getAttribute('inputmask');
  var text = ctrl.value;
  
  // Result string and value
  var resultString = '';
  var resultValue = true;
  
  // Validate mask
  if (event.keyCode != 8) { // Backspace
    var j = 0;
    for (var i = 0; i < ctrl.value.length; i++) {
	  if ( !isAlpha(mask.substring(j, (j+1))) && !isNumeric(mask.substring(j, (j+1)))) {
        resultString = resultString + mask.substring(j, (j+1));
		j++;
	  }
	  if ( !isAlpha(text.substring(i, (i+1))) && !isNumeric(text.substring(i, (i+1))) ) {
		i++;
	  }
	  
	  if ( mask.substring(j, (j+1)) == '0' && isAlpha(text.substring(i, (i+1))) ) {
		resultValue = false;
	  }
	  if ( mask.substring(j, (j+1)) == '0' && isNumeric(text.substring(i, (i+1))) ) {
        resultString = resultString + text.substring(i, (i+1));
	  }
	  
	  if ( mask.substring(j, (j+1)) == 'a' && isNumeric(text.substring(i, (i+1))) ) {
		resultValue = false;
	  }
	  if ( mask.substring(j, (j+1)) == 'a' && isAlpha(text.substring(i, (i+1))) ) {
        resultString = resultString + text.substring(i, (i+1));
	  }

	  j++;
    }
  }
	
  // Result
  ctrl.value = (resultString == '' ? text : resultString);
  return resultValue;
}

function isNumeric(sText) {
  var ValidChars = "0123456789.";
  var IsNumber=true;
  var Char;

  for (i = 0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

function isAlpha(sText) {
  var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var IsNumber=true;
  var Char;

  for (i = 0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

function TextareaKeyPress(objTextArea) {
  //get value:
  var strValue = objTextArea.value;

  //get max chars:
  var maxChars = parseInt(objTextArea.getAttribute('maxchars'));

  //check if exceeded:
  if (strValue.length > maxChars) {
    //crop to maximum size:
    objTextArea.value = strValue.substr(0, maxChars);
    return false;
  }

  return true;
}

function TextareaKeyUp(objTextArea) {
  //get id of control:
  var strID=objTextArea.name+"_charsCount";

  //get pointer to text container:
  var objSpan=document.getElementById(strID);

  //get value:
  var strValue = objTextArea.value;

  //get max chars:
  var maxChars = parseInt(objTextArea.getAttribute('maxchars'));

  //check if exceeded:
  if (strValue.length > maxChars) {
    //crop to maximum size and refresh:
    objTextArea.value = strValue.substr(0, maxChars);
    strValue=objTextArea.value;
  }

  //set container text:
  objSpan.innerHTML = (maxChars-strValue.length);
}

function TextareaPaste(objTextArea) {
  var s1=setTimeout("TextareaKeyPress();", 100, objTextArea);
  var s2=setTimeout("TextareaKeyUp();", 500, objTextArea);
}

function SetMinDate(dest, src) {
	dest.value = src.value;
	dest.setMinDate(src.value);
}

function popupWindow(theURL,winName,width,height) {
	// Window size
	if (width == null && height == null) {
		if (screen) {
			width = screen.availWidth - 100;
			height = screen.availHeight - 100;
		}
	}
	
	// Window positioning
	leftPos = 0;
	topPos = 0;
	if (screen) {
		leftPos = (screen.availWidth / 2) - (width / 2);
		topPos = (screen.availHeight / 2) - (height / 2);
	}
	
	// Display popup
  strFeatures = "resizable=yes,scrollbars=yes,width=" + width + ",height=" + height + ",left=" + leftPos + ",top=" + topPos;
  frmNew = window.open(theURL,winName,strFeatures);
  if (frmNew.window.focus) {
		frmNew.window.focus();
	}
}

function CalculateDistance(lon1, lat1, lon2, lat2) {
	return 1.609344 * (3958*Math.PI*Math.sqrt((lat2-lat1)*(lat2-lat1) + Math.cos(lat2/57.29578)*Math.cos(lat1/57.29578)*(lon2-lon1)*(lon2-lon1))/180);
}

function CloneArray(pArray) {
	var tmpArray = new Array();
	for (var i = 0; i < pArray.length; i++) {
		tmpArray.push(pArray[i]);
	}
	return tmpArray;
}

function doCompareSelected() {
	var uri = '/compare.php?';

	var input = document.getElementsByTagName('input');
	var cnt = input.length;
	
	for (var i = cnt - 1; i >= 0; i--) {
		if (input[i].id && input[i].id.indexOf('compare_') == 0 && input[i].checked) {
			uri = uri + 'id[]=' + input[i].value + '&';
		}
	}
	
	location.href = uri;
}