/*
$(document).ready(function()
{
	if (currentLanguage != '') {
		$("a").each(function() {
		  var tmp = '';
		  var hr = $(this).attr('href');
		  if (hr.indexOf(linkSearchStr) != -1) {
		  	tmp = hr.substr(0, hr.indexOf(linkSearchStr) + linkSearchStr.length) + currentLanguage + '/' + hr.substr(hr.indexOf(linkSearchStr) + linkSearchStr.length);
			  $(this).attr('href', tmp);
		  }
		});
	}

	$("a").each(function() {
		if ($(this).attr('id').indexOf('langSwitch') == 0) {
		  var tmp = '';
			var langId = $(this).attr('id').substr(10);
			if (langId == defaultLanguage) {
				tmp = location.href.replace(currentLanguage + '/', '');
				$(this).attr('href', tmp);
			} else {
			  var hr = location.href;
			  if (hr.indexOf(linkSearchStr) != -1) {
			  	tmp = hr.substr(0, hr.indexOf(linkSearchStr) + linkSearchStr.length) + langId + '/' + hr.substr(hr.indexOf(linkSearchStr) + linkSearchStr.length);
				  $(this).attr('href', tmp);
			  }
			}
		}
	});

});
*/

$(document).ajaxError(function(event, request, settings){
	$('#errorDiv').empty();
  $('#errorDiv').append("Error requesting page " + settings.url);
	$('#errorDiv').show();
 });

$(document).ajaxSuccess(function(event, request, settings){
	$('#errorDiv').hide();
	$('#errorDiv').empty();
  $('#errorDiv').append('&nbsp;');
 });

function isNotEmpty(elem) {
	if (elem == null) return false;
    var str = $(elem).val();
    var re = /.+/;
    
    return str.match(re);
}

function checkRFMini(elemArray, formName, generalAlert) {
	if (typeof pass == "undefined") {
    pass = false;
  }	
	if (typeof generalAlert == "undefined") {
    generalAlert = "The following required fields not filled/chosen:\n";
  }	

	var emptyElem = false;
	var alertMessage = generalAlert;
	for (var i = 0; i < elemArray.length; i++) {
		if ($('#' + elemArray[i].elemId).attr('type') == 'select-one') {
			if ($('#' + elemArray[i].elemId).val() == '0') {
				emptyElem = true;
				alertMessage += ('* ' + elemArray[i].alertMessage + "\n");
			}
		} else {
			if (!isNotEmpty(document.getElementById(elemArray[i].elemId))) {
				emptyElem = true;
				alertMessage += ('* ' + elemArray[i].alertMessage + "\n");
			}
		}
	}
	
	if (emptyElem) {
		alert(alertMessage);
		return false;
	} else {
		$('#' + formName).submit();
		return true;
	}
}

function noenter(e) {
  //return !(window.event && window.event.keyCode == 13); 
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	return ((keynum != 13) && (keynum != 34));
}

function emailValidation(elem, alertText) {
	if (!isNotEmpty(elem, true)) return false;
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert(alertText);
        setfocus(elem);
        return false;
    } else {
        return true;
    }
}

function urlValidation(elem, alertText) {
	var trVal = '';
	var ok = true;

	if (isNotEmpty(elem)) {
		trVal = trim($(elem).val());
		if ((trVal.substr(0, 7) != 'http://') && (trVal.substr(0, 8) != 'https://')) {
			trVal = 'http://' + trVal;
		}
		
		if (!trVal.match(/^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/)) {
			ok = false;
			alert(alertText);
		}
	}
	
	return ok;
}

function checkForAllCaps(formName) {
	var allCaps = false;
	var elem;
	var re = /[a-zA-Z]+/;
	for (var i = 0; i < document.forms[formName].elements.length; i++) {
		elem = document.forms[formName].elements[i];
		if (elem.name != 'postcode') {
			if (((elem.type == 'text') || (elem.type == 'textarea')) && (isNotEmpty(elem))) {
					var elemVal = trim(elem.value);
					if (elemVal.search(re) != -1) {
						if (elemVal.toUpperCase() == elemVal) {
							allCaps = true;
							break;
						}
					}
			}
		}
	}
	return allCaps;
}

function getCheckedValue(radioObj) {
	if(radioObj == null) return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function charCount(e, elem, dispElemId, minLength, maxLength) {
	if ($('#' + dispElemId).length > 0) {
		var dispElem = document.getElementById(dispElemId);
		val = trim(elem.value);
		dispElem.innerHTML = val.length;
		if ((val.length < minLength) || (val.length > maxLength)) {
			dispElem.style.color = '#FF0000';
		} else {
			dispElem.style.color = '#008000';
		}
	}
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	return ((keynum != 13) && (elem.value.length <= maxLength));
}

function setFocusDelayed() {
	globalValfield.focus();
}

function setfocus(valfield) {
	globalValfield = valfield;
	setTimeout('setFocusDelayed()', 100);
}

function trim(stringToTrim) {
	if (typeof stringToTrim == 'undefined') stringToTrim = '';
	return stringToTrim.replace(/^\s+|\s+$/g, '');
}

function syncLinkedList(elem, linkedElemId, script, loadingText, defaultText, mode) {
	if (typeof defaultText == 'undefined') defaultText = '';
	if (typeof mode == 'undefined') mode = 0;
	$('#' + linkedElemId).empty();
	$('#' + linkedElemId).append('<option value="0">' + loadingText + '</option>');
	
  $.post(scriptingBase + 'modules/' + script + '.php', {'id': $(elem).val(), 'defaultText': defaultText, 'mode': mode}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].value + '">' + j[i].text + '</option>';
      }
			$('#' + linkedElemId).empty();
      $('#' + linkedElemId).append(options);
      $('#' + linkedElemId + ':first').attr('selected', 'selected');
   }, 'json')
}

function stepBack() {
	$('#back').val('1');
	$('#form1').submit();
}

function checkLinkLocation(alertText, emptyLocText, urlMismatchText) {
	var loc = $('#link_location').val();
	if (loc == '') { alert(emptyLocText); return; }
	$('#verifying').show();

  $.post(scriptingBase + 'modules/checklocation.php', {'loc': loc, 'link': $('#link_url').val()}, function(j){
      if (j == '1')
      	$('#form1').submit();
			else if (j == '2')
				alert(urlMismatchText);
      else
      	alert(alertText);

			$('#verifying').hide();
   }, 'html')
}
