function popaway(){
  window.close();
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
var timerID = null
var timerRunning = false

function stopclock(){
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function startclock(){
    stopclock()
    showtime()
}

function showtime(){
    var now = new Date()
    var hours = now.getHours()
    var minutes = now.getMinutes()
    var seconds = now.getSeconds()
    var timeValue = hours
    timeValue  += ((minutes < 10) ? ":0" : ":") + minutes
    timeValue  += ((seconds < 10) ? ":0" : ":") + seconds
    document.getElementById('clock').firstChild.nodeValue = timeValue
    timerID = setTimeout("showtime()",1000)
    timerRunning = true
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function validate_branch_contact(form) {

	var validExp = /[0-9]{10,11}/;

	var cell = document.getElementById(form).number.value;
	var testCell = validExp.test(cell);

	if(document.getElementById(form).name.value == "Contact Name*") {
		alert("Please enter in a contact person.");
	} else if(document.getElementById(form).number.value == "Contact Number*" || (testCell == false) ){
		alert("Please enter in a cell number correctly (numbers only).");
	} else if(document.getElementById(form).email.value == "Email Address*") {
		alert("Please enter in an email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that the email is filled out correctly.");
	} else if(document.getElementById(form).comments.value == "Comments *" ){
		alert("Please leave a comment.");

	} else if (document.getElementById(form).client_type == undefined) {
        document.getElementById(form).submit();
        
	}
    
     else if (document.getElementById(form).client_type.value == "") {

        alert("Please select a client type.");
	}
	
	else{
		document.getElementById(form).submit();
	}
}

function removeAllOptions(selectbox) {
	var i;
	for(i=selectbox.options.length-1; i>0; i--) {
		selectbox.remove(i);
	}
}

function removeOptGroups(select_box) {
  select_box.parentNode.replaceChild(select_box.cloneNode(false), select_box);
}

function addOptionDynamic(selectbox, value, text, index) {
	selectbox.options[index] = new Option(text, value);
}

function updateElementProv(element_to_change, data, selected_option) {
	removeOptGroups( document.getElementById(element_to_change) );

    var oSelect = document.getElementById(element_to_change);
	var oOption = document.createElement('option');
	oOption.value = '';
	oOption.innerHTML = 'Province and Region';
	oSelect.appendChild(oOption);

	var data_array = data.split("|");
    for (i=0; i<data_array.length-1; i++) {
		var d_array = data_array[i].split("~");

		x_array = d_array[0].split('!');
        var oGroup = document.createElement('optgroup');
		oGroup.label = x_array[1];

		for (x=1; x<d_array.length-1; x++) {
			x_array = d_array[x].split('!');
			var oOption = document.createElement('option');
			oOption.value = x_array[0];
			oOption.innerHTML = x_array[1];
			oGroup.appendChild(oOption);
		}
		oSelect.appendChild(oGroup);
    }
}

function AjaxFetchDataProv(url_prefix, passed_value, selected_option, element_to_change){

    if (passed_value=='commercial') window.location = 'http://www.justcommercial.co.za';

    $('#'+element_to_change).children()[0].text = 'Loading options...';
    document.getElementById(element_to_change).disabled = 'disabled';

    $.ajax({
        url: '/'+url_prefix+'/'+passed_value+'/',
        async: false,
        success: function(data){ updateElementProv(element_to_change, data, selected_option) }
    });
    document.getElementById(element_to_change).disabled = '';
}

function updateElementAlert(element_to_change, data, selected_option) {

    var oSelect = document.getElementById(element_to_change);
	var data_array = data.split("|");

    for (i=0; i<data_array.length-1; i++) {
		var d_array = data_array[i].split("~");

        var oGroup = document.createElement('optgroup');
		oGroup.label = d_array[0];

		for (x=1; x<d_array.length-1; x++) {
			var oOption = document.createElement('option');
			oOption.value = d_array[x];
			if(oOption.value.toLowerCase() == selected_option.toLowerCase()){
			  oOption.selected = "selected";
			}
			oOption.innerHTML = d_array[x];
			oGroup.appendChild(oOption);
		}
		oSelect.appendChild(oGroup);
    }
}

function AjaxFetchDataAlert(url_prefix, selected_option, element_to_change){
  $.ajax({
	url: '/'+url_prefix+'/',
	async: false,
	success: function(data){ updateElementAlert(element_to_change, data, selected_option) }
  });

}

function AjaxSetProvName(selected_option){
  $.post('/ajax/search/provname/' + selected_option + '/', function(data){
    document.getElementById('id_search_top_prov').value = data
  });
}

function updateElement(element_to_change, data, selected_option){

	removeAllOptions(document.getElementById(element_to_change))

    var data_array = data.split("~");
  	var y = 1;

    for (i=0; i<data_array.length-1; i++) {
		var d_array = data_array[i].split("!");
		addOptionDynamic(document.getElementById(element_to_change), d_array[0], d_array[1], y);
		y++;
	}
}

function AjaxFetchData(url_prefix, passed_value1, passed_value2, selected_option, element_to_change){
  document.getElementById(element_to_change).disabled = 'disabled';
  $.ajax({
	url: '/'+url_prefix+'/'+passed_value1+'/'+passed_value2+'/',
	async: false,
	success: function(data){ updateElement(element_to_change, data, selected_option) }
  });
  document.getElementById(element_to_change).disabled = '';
}

function updateElementCustom(element_to_change, data, selected_option) {

	removeAllOptions(document.getElementById(element_to_change));

	var ini_array = data.split("*");
    var data_array = ini_array[0].split("~");
	var intValue = document.getElementById(element_to_change).options[0].innerHTML;

	addOptionDynamic(document.getElementById(element_to_change), '', intValue, 0);
	addOptionDynamic(document.getElementById(element_to_change), '', 'All ' + intValue + 's' + ' (' + ini_array[1] + ')', 1);

  	var y = 2;

    for (i=0; i<data_array.length-1; i++) {
		var d_array = data_array[i].split("!");
		addOptionDynamic(document.getElementById(element_to_change), d_array[0], d_array[1], y);
		y++;
	}
}

function AjaxFetchDataCustom(url_prefix, passed_value1, passed_value2, passed_value3, selected_option, element_to_change){
  if(passed_value2 == ''){
	passed_value2 = 'all-' + passed_value3;
  }
  document.getElementById(element_to_change).disabled = 'disabled';
  $.ajax({
	url: '/'+url_prefix+'/'+passed_value1+'/'+passed_value2+'/',
	async: false,
	success: function(data){ updateElementCustom(element_to_change, data, selected_option) }
  });
  document.getElementById(element_to_change).disabled = '';
}

function resetPropertyType() {
    removeAllOptions(document.getElementById('id_search_top_type'));
    addOptionDynamic(document.getElementById('id_search_top_type'), "", "Property Type", 0);
    addOptionDynamic(document.getElementById('id_search_top_type'), "", "All Property Types", 1);

}

function updateElementSingle(element_to_change, data, selected_option) {

	removeAllOptions(document.getElementById(element_to_change));
	addOptionDynamic(document.getElementById(element_to_change), 'all', 'All Suburbs', 1);

    var data_array = data.split("~");
  	var y = 2;

    for (i=0; i<data_array.length-1; i++) {
        addOptionDynamic(document.getElementById(element_to_change), data_array[i], data_array[i], y);
		if(data_array[i] == selected_option){
		  document.getElementById(element_to_change).options[y].selected = "selected";
		}
		y++;
	}
}

function AjaxFetchDataSingle(url_prefix, passed_value1, selected_option, element_to_change){
  $.post('/'+url_prefix+'/'+passed_value1+'/', function(data){
    updateElementSingle(element_to_change, data, selected_option);
  });
}

function AjaxCartNum(){
  $.post('/ajax/cart/num/non/', function(data){
	document.getElementById('id_saved_props').innerHTML = 'My Favourites &nbsp;<b>[' + data + ']</b>'
  });
}

function AjaxAddCartNum(){
  $.post('/ajax/cart/num/add/', function(data){
	document.getElementById('id_saved_span').innerHTML = ''
	document.getElementById('id_saved_span').innerHTML = '<a href="/saved-properties/?clearcache='+(Math.random()*100)+'" class="saved-properties-selected" id="id_saved_props" onmouseover="ResetCartNum(' + data + ');">My Favourites &nbsp;<b>[' + data + ']</b></a>';
	window.location = '#saved'
  });
}

function ResetCartNum(data){
  document.getElementById('id_saved_span').innerHTML = ''
  document.getElementById('id_saved_span').innerHTML = '<a href="/saved-properties/?clearcache='+(Math.random()*100)+'" class="saved-properties" id="id_saved_props">My Favourites &nbsp;<b>[' + data + ']</b></a>';
}

function AjaxAddCart(id){
  $.post('/ajax/cart/add/'+id+'/', function(data){
    if(data == 'done'){
	  alert('The selected property has been added to My Favourites.');
	  AjaxAddCartNum();
	}
	else{
	  alert('The selected property has already been added to My Favourites.');
	}
  });
}

function AjaxDeleteCart(id){
  $.post('/ajax/cart/delete/'+id+'/', function(data){
    if(data == 'done'){
        url = '/saved-properties/?clearcache=' + (Math.random()*100)
        window.location = url;
	}
  });
}

function AjaxDeleteSession(id, msg){
  $.post('/ajax/session/delete/'+id+'/', function(data){
	if(data == 'done'){
	  alert(msg);
	}
  });
}

function AjaxCheckEmailUnique(email, form){
  $.post('/ajax/unique-email/'+email+'/', function(data){
	if(data == 'False'){
	  alert("The email address entered already exists. Please try again or use the forgot password page to retreive your lost password.");
	}
	else{

	  document.getElementById(form).submit();
	}
  });
}

function validate_news_email(form) {
  
	//img_text = document.getElementById(form).img_text.value;
	//hash = document.getElementById(form).imghash.value ;
	
	if(document.getElementById(form).name.value == "Your Name *") {
		alert("Please enter in a your name.");
	} else if(document.getElementById(form).email.value == "Your Email Address *" ){
		alert("Please enter in a your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that your email is filled out correctly.");
	} else if(document.getElementById(form).sent_to_name.value == "Recipients Name *") {
		alert("Please enter in the recipients name.");
	} else if(document.getElementById(form).sent_to_email.value == "Recipients Email Address *" ){
		alert("Please enter in the recipients email address.");
	} else if ((document.getElementById(form).sent_to_email.value.search("@")==-1) || (document.getElementById(form).sent_to_email.value.search("[.*]")==-1)) {
        alert("Please make sure that the recipients email is filled out correctly.");
	} else if(document.getElementById(form).enquiry.value == "Message" ){
		alert("Please leave a your comment.");
	/*} else if(AjaxVerifyImageCode(img_text,hash) =="False") {
		alert("Please enter the verification code correctly.");*/
	}else{
		document.getElementById(form).submit();
	}
}

function validate_send_friend(form){
	
	/*img_text = document.getElementById(form).img_text.value;
	hash = document.getElementById(form).imghash.value ;*/
	
	if(document.getElementById(form).name.value == "Your Name *") {
		alert("Please enter in a your name.");
	} else if(document.getElementById(form).email.value == "Your Email Address *" ){
		alert("Please enter in a your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that your email is filled out correctly.");
	} else if(document.getElementById(form).recname.value == "Recipients Name *") {
		alert("Please enter in the recipients name.");
	} else if(document.getElementById(form).recemail.value == "Recipients Email Address *" ){
		alert("Please enter in the recipients email address.");
	} else if ((document.getElementById(form).recemail.value.search("@")==-1) || (document.getElementById(form).recemail.value.search("[.*]")==-1)) {
        alert("Please make sure that the recipients email is filled out correctly.");
	/*} else if(AjaxVerifyImageCode(img_text,hash) =="False") {
		alert("Please enter the verification code correctly.");*/
	} else{
		document.getElementById(form).submit();
	}
}

function validate_search(form, listing_type){
  sts = true;
  listing_type = document.getElementById(form).listing_type.value;

  if(listing_type == ''){
	alert('Please select a Listing Type to continue.')
	sts = false;
	return;
  }

  prov   = document.getElementById(form).search_top_prov.value;
  area   = document.getElementById(form).search_top_area.value;
  suburb = document.getElementById(form).search_top_suburb.value;
  type   = document.getElementById(form).search_top_type.value;
  url    = '/' + listing_type + '/results/'

  if(prov != ''){
	url += prov + '/';
	url += area + '/';
  }
  else{
	alert('Please select a Province/Region to continue.')
	sts = false;
  }
  if(suburb != ''){
	url += suburb + '/';
  }
  else if(suburb == '' && type != ''){
	url += 'all/';
  }
  if(type != ''){
	url += type + '/';
  }
  if(sts == true){
	document.getElementById(form).action =  url;
	document.getElementById(form).submit();
  }
}

function validate_forgotten_password(form) {
	if(document.getElementById(form).email.value == "Email Address") {
		alert("Please enter your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please Make Sure That You Fill in The Email Field Correctly.");
	} else if(document.getElementById(form).img_text.value == "Verification" ){
		alert("Please type in the verification code.");
	}else{
		document.getElementById(form).submit();
	}
}

function list_property_branch_validate(form) {
	if(document.getElementById(form).branch_select.value == "") {
		alert("Please select the branch closest to you.");
	} else if(document.getElementById(form).name.value == "Name *") {
		alert("Please enter in your name.");
	} else if(document.getElementById(form).surname.value == "Surname *") {
		alert("Please enter in your surname.");
	} else if(document.getElementById(form).cell.value == "Cell Number *"){
		alert("Please enter in your cell number.");
	} else if(isNaN(document.getElementById(form).cell.value) == true){
		alert("Please enter in your cell number correctly (Only number and no spaces).");
	} else if(document.getElementById(form).att_num.value == "Alternative Contact Number *"){
		alert("Please enter in your alternative number.");
	} else if(document.getElementById(form).email.value == "Email Address *"){
		alert("Please enter in your email address.");
	} else if(setTimeout("AjaxCheckEmailUnique(document.getElementById(form).email.value)", 1000) == "False") {
		alert("The email address entered already exists. Please try again or use the forgot password page to retreive your lost password.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that you fill in your email field correctly.");
	} else if(document.getElementById(form).address.value == "Property Address *"){
		alert("Please enter in the address of the property.");
	} else if (document.getElementById(form).description.value == "Property Description *") {
		alert("Please enter in a description of the property.");
	/*} else  if (AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) == "False") {
			alert("Please enter the verification code correctly.");*/
	} else{
		document.getElementById(form).submit();
	}
}

function list_property_diy_validate(form) {
	if(document.getElementById(form).name.value == "Name *") {
		alert("Please enter in your name.");
	} else if(document.getElementById(form).surname.value == "Surname *") {
		alert("Please enter in your surname.");
	} else if(document.getElementById(form).cell.value == "Cell Number *"){
		alert("Please enter in your cell number.");
	} else if(isNaN(document.getElementById(form).cell.value) == true){
		alert("Please enter in your cell number correctly (Only number and no spaces).");
	} else if(document.getElementById(form).att_num.value == "Alternative Contact Number *"){
		alert("Please enter in your alternative number.");
	} else if(document.getElementById(form).email.value == "Email Address *"){
		alert("Please enter in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that you fill in your email field correctly.");
	} else if(document.getElementById(form).password.value != document.getElementById(form).password_confirm.value){
		alert("Please enter your password again. The confirmation password does not match.");
	/*} else if (AjaxVerifyImageCode($('#img_text2').val(), $('#imghash2').val()) == "False") {
			alert("Please enter the verification code correctly.");*/
	} else {
		
	AjaxCheckEmailUnique(document.getElementById(form).email.value, form);
	}
}

function validate_group_contact(form) {
	if(document.getElementById(form).head_office.value == "") {
		alert("Please select a division.");
	} else if(document.getElementById(form).name.value == "Contact Person *") {
		alert("Please enter in a contact person.");
	} else if(document.getElementById(form).number.value == "Contact Number *") {
		alert("Please enter in a contact number.");
	} else if(document.getElementById(form).email.value == "Email Address *"){
		alert("Please enter in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that you fill in your email field correctly.");
	} else{
		document.getElementById(form).submit();
	}
}

function ref_search(value){
  if(value != 'Listing Number'){
	document.getElementById('id_ref_search_form').submit();
  }
}

function validate_send_enquiry(form, id) {
	if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person') {
		alert("Please fill in your name.");
	} else if (document.getElementById(form).contactnum.value=='' || document.getElementById(form).contactnum.value=='Contact Number') {
		alert("Please fill in your contact number.");
	} else if (isNaN(document.getElementById(form).contactnum.value)) {
		alert("Please fill in your contact number correctly (Only number and no spaces). ");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@") == -1) || (document.getElementById(form).email.value.search("[.*]") == -1)) {
		alert("Please make sure that you fill in the email field correctly.");
	/*} else if (AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) == "False") {
			alert("Please enter the verification code correctly.");*/
	} else {
			document.getElementById(form).submit();
			
		}
}


function validate_send_enquiry_details(form, id) {
	if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person') {
		alert("Please fill in your name.");
	} else if (document.getElementById(form).contactnum.value=='' || document.getElementById(form).contactnum.value=='Contact Number') {
		alert("Please fill in your contact number.");
	} else if (isNaN(document.getElementById(form).contactnum.value)) {
		alert("Please fill in your contact number correctly (Only number and no spaces). ");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@") == -1) || (document.getElementById(form).email.value.search("[.*]") == -1)) {
		alert("Please make sure that you fill in the email field correctly.");
	} else {
			document.getElementById(form).submit();
			
		}
}


function validate_finance_enquiry(form, id) {
    if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person') {
		alert("Please fill in your name.");
	} else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number') {
		alert("Please fill in your contact number.");
	} else if (isNaN(document.getElementById(form).number.value)) {
		alert("Please fill in your contact number correctly (Only number and no spaces). ");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that you fill in the email field correctly.");
	} else if (document.getElementById(form).comments.value=='' || document.getElementById(form).comments.value=='Comments') {
		alert("Please fill in your comments.");
	} else {
		document.getElementById(form).submit();
	}
}

function default_selected(s_field, value){
  var y = 0;
  while(y < s_field.options.length){
	if(s_field.options[y].value == value){
	  s_field.options[y].selected = 'selected';
	}
	y++;
  }
}

function default_selected_price(s_field1, s_field2, value){
  var y = 0;
  value = parseInt(value);
  while(y < s_field1.options.length){
	if(value >= s_field1.options[y].value){
	  s_field1.options[y].selected = 'selected';
	  s_field2.options[y].selected = 'selected';
	}
	else{
	  break;
	}
	y++;
	}
}

function validate_alerts_form(form){
  if (document.getElementById(form).branch.value=='') {
	alert("Please select a branch to send the enquiry to.");
  }
  else if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person *') {
	alert("Please fill in your name.");
  }
  else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number *') {
	alert("Please fill in your contact number.");
  }
  else if (isNaN(document.getElementById(form).number.value)) {
	alert("Please fill in your contact number correctly (Only number and no spaces).");
  }
  else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address *') {
	alert("Please fill in your email address.");
  }
  else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
	alert("Please make sure that you fill in the email field correctly.");
  }
  else if (document.getElementById(form).listing_type.value=='') {
	alert("Please select a listing type.");
  }
  else if (document.getElementById(form).property_type.value=='') {
	alert("Please select a property type.");
  }
  else if (document.getElementById(form).province.value=='') {
	alert("Please select a province/region.");
  }
  else if (document.getElementById(form).suburb.value=='') {
	alert("Please select a suburb.");
  }
  else if (document.getElementById(form).rent_from.value=='0') {
	alert("Please select a rental from amount.");
  }
  else if (document.getElementById(form).rent_to.value=='0') {
    alert("Please select a rental to amount.");
  }
  /*else if(AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) =="False") {
		alert("Please enter the verification code correctly.");
	} */
  else {
	document.getElementById(form).submit();
  }
}

function validate_alerts_form_com(form){
  if (document.getElementById(form).branch.value=='') {
	alert("Please select a branch to send the enquiry to.");
  }
  else if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person *') {
	alert("Please fill in your name.");
  }
  else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number *') {
	alert("Please fill in your contact number.");
  }
  else if (isNaN(document.getElementById(form).number.value)) {
	alert("Please fill in your contact number correctly (Only number and no spaces).");
  }
  else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address *') {
	alert("Please fill in your email address.");
  }
  else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
	alert("Please make sure that you fill in the email field correctly.");
  }
  else if (document.getElementById(form).listing_status.value=='') {
	alert("Please select a listing type.");
  }
  else if (document.getElementById(form).property_type.value=='') {
	alert("Please select a property type.");
  }
  else if (document.getElementById(form).province.value=='') {
	alert("Please select a province/region.");
  }
  else if (document.getElementById(form).suburb.value=='') {
	alert("Please select a suburb.");
  }
  else if (document.getElementById(form).gross_lettable.value=='') {
	alert("Please select a gross lettable area amount.");
  }
  else if (document.getElementById(form).gross_rental.value=='') {
    alert("Please select a gross rental amount.");
  }
 /* else if(AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) =="False") {
		alert("Please enter the verification code correctly.");
  }*/
  else {
	document.getElementById(form).submit();
  }
}

// Custom Alert
function c_alert(message){
  if(message != ''){
	alert(message);
  }
}

// Landlord Zone Functions
function val_date(vdate, is_full_edit){
  if(!is_full_edit){
	result = false;
  }
  else{
	var currDate = new Date();
	var setDate = new Date();
	var splitDate = vdate.split('-');
	currDate.getFullYear();
	setDate.setFullYear(splitDate[0], splitDate[1]-1, splitDate[2]);

	if(currDate > setDate){
	  result = true
	}
	else{
	  result = false;
	}
  }
  return result
}

function val_prop_add(form, is_full_edit){
  // Main form fields - common to all
  if (document.getElementById(form).listing_type.value == '') {
	window.location = "#001";
	alert("Please select a listing type.");
  }
  else if (document.getElementById(form).start.value == '') {
	window.location = "#001";
	alert("Please select a the date you would like the listing to begin on.");
  }
  else if (document.getElementById(form).listing_option.value == 0) {
	window.location = "#001";
	alert("Please select a listing option.");
  }
  else if (val_date(document.getElementById(form).start.value, is_full_edit)) {
	window.location = "#001";
	alert("Please select a valid date after today's date.");
  }/*
  else if (document.getElementById(form).availability.value == '') {
	window.location = "#002";
	alert("Please select the date the property will be available from.");
  }*/
  else if (document.getElementById(form).lease_period.value == '') {
	window.location = "#002";
	alert("Please select a lease period.");
  }
  else if (document.getElementById(form).address.value == '') {
	window.location = "#003";
	alert("Please enter the property's address.");
  }
  else if (document.getElementById(form).province.value == '') {
	window.location = "#003";
	alert("Please select a province.");
  }
  else if (document.getElementById(form).area.value == '') {
	window.location = "#003";
	alert("Please select a region.");
  }
  else if (document.getElementById(form).suburb.value == '' || (document.getElementById(form).suburb.value == 'add_new' && document.getElementById(form).new_suburb.value == '')) {
	window.location = "#003";
	alert("Please select a suburb.");
  }
  /*else if (document.getElementById(form).x_position.value == '' || document.getElementById(form).y_position.value == '') {
	window.location = "#004";
	alert("Please plot the property on the location map.");
  }*/
  else if (document.getElementById(form).property_type.value == '') {
	window.location = "#005";
	alert("Please select a property type.");
  }
  else if (document.getElementById(form).heading.value == '') {
	window.location = "#005";
	alert("Please enter a heading for the property.");
  }
  else if (document.getElementById(form).description.value == '') {
	window.location = "#005";
	alert("Please enter a description for the property.");
  }
  else if (document.getElementById(form).t_and_c.checked == false) {
	alert("Please accept the terms and conditions.");
  }
  else{
	// Residential destinction
	if(document.getElementById(form).listing_type.value == 'Residential'){
	  if (document.getElementById(form).res_price.value == '' || isNaN(document.getElementById(form).res_price.value)) {
		window.location = "#002";
		alert("Please enter the monthly rental amount correctly.");
	  }
	  else if (document.getElementById(form).bedrooms.value == '') {
		window.location = "#006";
		alert("Please select the number of bedrooms.");
	  }
	  else if (document.getElementById(form).bathrooms.value == '') {
		window.location = "#006";
		alert("Please select the number of bathrooms.");
	  }
	  else if (document.getElementById(form).reception_rooms.value == '') {
		window.location = "#006";
		alert("Please select the number of reception rooms.");
	  }
	  else if (document.getElementById(form).garages.value == '') {
		window.location = "#006";
		alert("Please select the number of garages.");
	  }
	  else if (document.getElementById(form).car_ports.value == '') {
		window.location = "#006";
		alert("Please select the number of car ports.");
	  }
	  else if (document.getElementById(form).garden.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has a garden.");
	  }

	  else if (document.getElementById(form).pool.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has a pool.");
	  }
	  else if (document.getElementById(form).granny_flat.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has a granny flat.");
	  }
	  else if (document.getElementById(form).study.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has a study.");
	  }
	  else if (document.getElementById(form).staff_accommodation.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has staff accommodation.");
	  }
	  else if (document.getElementById(form).security.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not the property has security.");
	  }
	  else if (document.getElementById(form).furniture.value == '') {
		window.location = "#006";
		alert("Please describe the property's furnishings.");
	  }
	  else if (document.getElementById(form).pets_allowed.value == 'none') {
		window.location = "#006";
		alert("Please select whether or not pets are allowed.");
	  }
	  else{
        submit_loader();
        document.getElementById(form).submit();
	  }
	}
	// Commercial destinction
	else if(document.getElementById(form).listing_type.value == 'Commercial'){
	  if(document.getElementById(form).com_price.value == '' || isNaN(document.getElementById(form).com_price.value)) {
		window.location = "#002";
		alert("Please enter the monthly rental amount correctly.");
	  }
	  else if (document.getElementById(form).lettable_size.value == '') {
		window.location = "#002";
		alert("Please enter the lettable area.");
	  }
	  else if ((document.getElementById('id_listing_status').value == 'For Sale' || document.getElementById('id_listing_status').value == 'For Sale-To Let') && document.getElementById('id_purchase_price').value == '') {
		window.location = "#002";
		alert("Please enter the purchase price.");
	  }
	  else if (document.getElementById(form).zoning.value == '') {
		window.location = "#007";
		alert("Please select the zoning type.");
	  }
	  else if (document.getElementById(form).lettable_size.value == '') {
		window.location = "#007";
		alert("Please enter the lettable size.");
	  }/*
	  else if (document.getElementById(form).gross_lettable_area.value == '') {
		window.location = "#007";
		alert("Please enter the lettable area.");
	  }*/
	  else{
        //submit_loader();
        document.getElementById(form).submit();
	  }
	}
	// Holiday destinction
	else if(document.getElementById(form).listing_type.value == 'Holiday'){
	  if (document.getElementById(form).establishment_name.value == '') {
		window.location = "#008";
		alert("Please enter the establishment's name.");
	  }
	  else if (document.getElementById(form).beds.value == '') {
		window.location = "#008";
		alert("Please enter the number of beds.");
	  }
	  else if (document.getElementById(form).max_guests.value == '') {
		window.location = "#008";
		alert("Please select the maximum number of guests.");
	  }
	  else if (document.getElementById(form).rates.value == '') {
		window.location = "#008";
		alert("Please select the rate type.");
	  }
	  else if (document.getElementById(form).rates_peak.value == '' || isNaN(document.getElementById(form).rates_peak.value)) {
		alert("Please enter a peak period rate correctly.");
		window.location = "#008";
	  }
	  else if (document.getElementById(form).rates_semi.value == '' || isNaN(document.getElementById(form).rates_semi.value)) {
		window.location = "#008";
		alert("Please enter a semi-peak period rate correctly.");
	  }
	  else if (document.getElementById(form).rates_out.value == '' || isNaN(document.getElementById(form).rates_out.value)) {
		window.location = "#008";
		alert("Please enter an out of season rate correctly.");
	  }
	  else if (document.getElementById(form).star_rating.value == '') {
		window.location = "#008";
		alert("Please enter the property's star rating.");
	  } else {
        submit_loader();
        document.getElementById(form).submit();
	  }
	}
  }
}



function validate_newsletter(form) {
	if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Name *') {
		alert("Please enter your name");
	} else if (document.getElementById(form).contactnum.value=='' || document.getElementById(form).contactnum.value=='Contact Number *') {
		alert("Please enter your contact number");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email=='Email Address *') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@") == -1) || (document.getElementById(form).email.value.search("[.*]") == -1)) {
		alert("Please make sure that you fill in the email field correctly.");
	/*} 	else if (AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) == "False") {
			alert("Please enter the verification code correctly.");*/
	} else {
			document.getElementById(form).submit();
			
		}
}

function validate_feedback(form) {

	var validExp = /[0-9]{10,11}/;

	var cell = document.getElementById(form).number.value;
	var testCell = validExp.test(cell);

	if(document.getElementById(form).name.value == "Contact Person *") {
		alert("Please enter in a contact person.");
	} else if(document.getElementById(form).number.value == "Contact Number *" || (testCell == false) ){
		alert("Please enter in a cell number correctly (numbers only).");
	} else if(document.getElementById(form).email.value == "Email Address *") {
		alert("Please enter in an email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that the email is filled out correctly.");
	} else if(document.getElementById(form).branch.value == "") {
		alert("Please select the branch in question.");
	} else if(document.getElementById(form).client_type.value == "") {
		alert("Please specify if you are a tenant or a landlord.");
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please enter your feedback in the comments box.");
	/*} 	else if (AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) == "False") {
		alert("Please enter the verification code correctly.");*/
	}else{
		document.getElementById(form).submit();
	}
}

function AjaxVerifyImageCode(enteredcode,imghash) {
  var verified = "False";
  if(enteredcode!="" && imghash!=""){
	$.ajax({
		  url: "/ajax/verify/"+enteredcode+"/"+imghash+"/",
		  async: false,
		  success: function(msg){
			verified = msg;
		  }
	});

  }
  return verified;
}

function validate_insurance(form) {
 	if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Name *') {
	  alert("Please enter your name");
	} else if (document.getElementById(form).contactnum.value=='' || document.getElementById(form).contactnum.value=='Contact Number *') {
		alert("Please enter your contact number");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email=='Email Address *') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
		alert("Please make sure that you fill in the email field correctly.");
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please enter a comment.");
	/*} else if(document.getElementById(form).img_text.value == "") {
		alert("Please enter the verification code.");
	} else if(AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) =="False") {
		alert("Please enter the verification code correctly.");*/
	} else {
		document.getElementById(form).submit();
	}
}

function validate_contact_finance(form) {
    
    img_text = document.getElementById(form).img_text.value;
	hash = document.getElementById(form).imghash.value ;
  if (document.getElementById(form).branch.value=='') {
		alert("Please select a branch");
	}
	else if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person') {
		alert("Please enter a contact person.");
	} else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number') {
		alert("Please enter your contact number");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email=='Email Address') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
		alert("Please make sure that you fill in the email field correctly.");
	} else if (document.getElementById(form).finance_type.value=='') {
		alert("Please select a finance type.");
	} else if(document.getElementById(form).enquiry.value == "Comments") {
		alert("Please enter a comment.");
	} else if(AjaxVerifyImageCode(img_text,hash) =="False") {
		alert("Please enter the verification code correctly.");
	} else {
		document.getElementById(form).submit();
	}
}

function validate_alert_finance(form) {
	img_text = document.getElementById(form).img_text.value;
	hash = document.getElementById(form).imghash.value ;
	
	if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person') {
		alert("Please enter a contact person.");
	} else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number') {
		alert("Please enter your contact number");
	} else if (document.getElementById(form).email.value=='' || document.getElementById(form).email=='Email Address') {
		alert("Please fill in your email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
		alert("Please make sure that you fill in the email field correctly.");
	} else if(AjaxVerifyImageCode(img_text,hash) =="False") {
		alert("Please enter the verification code correctly.");
	} else {
		document.getElementById(form).submit();
	}
}

function validate_finance_feedback(form) {

	var validExp = /[0-9]{10,11}/;

	var cell = document.getElementById(form).number.value;
	var testCell = validExp.test(cell);
    img_text = document.getElementById(form).img_text.value;
	hash = document.getElementById(form).imghash.value ;

	if(document.getElementById(form).name.value == "Contact Person *") {
		alert("Please enter in a contact person.");
	} else if(document.getElementById(form).number.value == "Contact Number *" || (testCell == false) ){
		alert("Please enter in a cell number correctly (numbers only).");
	} else if(document.getElementById(form).email.value == "Email Address *") {
		alert("Please enter in an email address.");
	} else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
        alert("Please make sure that the email is filled out correctly.");
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please enter your feedback in the comments box.");
    } else if(AjaxVerifyImageCode(img_text,hash) =="False") {
		alert("Please enter the verification code correctly.");
	} else{
		document.getElementById(form).submit();
	}
}
var message = "Print this Page";
function printpage() {
	window.print();
}
function showAlert() {
	if ($('#id_search_top_area').children().size()==1)
	alert("Please select a Listing Type.");
}

function edit_display_rollover(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_edit').hide()
		$('#id_edit_display').removeClass('edit-display-active')
		$('#id_edit_display').addClass('edit-display-button')
	}
	else{
		$('#id_tooldiv_edit').show()
		$('#id_edit_display').removeClass('edit-display-button')
		$('#id_edit_display').addClass('edit-display-active')
	}
}
function sort_results_rollover(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_sort').hide()
		$('#id_sort_results').removeClass('sort-results-active')
		$('#id_sort_results').addClass('sort-results-button')
	}
	else{
		$('#id_tooldiv_sort').show()
		$('#id_sort_results').removeClass('sort-results-button')
		$('#id_sort_results').addClass('sort-results-active')
	}
}
function email_results_rollover(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_email').hide()
		$('#id_email_results').removeClass('email-results-active')
		$('#id_email_results').addClass('email-results-button')
	}
	else{
		$('#id_tooldiv_email').show()
		$('#id_email_results').removeClass('email-results-button')
		$('#id_email_results').addClass('email-results-active')
	}
}

function email_details_rollover(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_email').hide()
		$('#id_email_details').removeClass('email-details-active')
		$('#id_email_details').addClass('email-details-button')
	}
	else{
		$('#id_tooldiv_email').show()
		$('#id_email_details').removeClass('email-details-button')
		$('#id_email_details').addClass('email-details-active')
	}
}

function news_email_rollover(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_news').hide()
		$('#id_news_email').removeClass('news-email-active')
		$('#id_news_email').addClass('news-email-button')
	}
	else{
		$('#id_tooldiv_news').show()
		$('#id_news_email').removeClass('news-email-button')
		$('#id_news_email').addClass('news-email-active')
	}
}

function sh_toolbar_results(){
	$('#id_tooldiv_edit').hide()
	$("#id_edit_display").mouseout(function(){
		edit_display_rollover('mouseout')
	})
	$("#id_edit_display").mouseover(function(){
		edit_display_rollover('mouseover')
	})

	$('#id_tooldiv_sort').hide()
	$("#id_sort_results").mouseout(function(){
		sort_results_rollover('mouseout')
	})
	$("#id_sort_results").mouseover(function(){
		sort_results_rollover('mouseover')
	})

	$('#id_tooldiv_email').hide()
	$("#id_email_results").mouseout(function(){
		email_results_rollover('mouseout')
	})
	$("#id_email_results").mouseover(function(){
		email_results_rollover('mouseover')
	})
	$("#id_email_results").mousemove(function(){
		email_results_rollover('mouseover')
	})

	$('#id_tooldiv_email').hide()
	$("#id_email_details").mouseout(function(){
		email_details_rollover('mouseout')
	})
	$("#id_email_details").mouseover(function(){
		email_details_rollover('mouseover')
	})
	$("#id_email_details").mousemove(function(){
		email_details_rollover('mouseover')
	})

	$('#id_tooldiv_news').hide()
	$("#id_news_email").mouseout(function(){
		news_email_rollover('mouseout')
	})
	$("#id_news_email").mouseover(function(){
		news_email_rollover('mouseover')
	})
	$("#id_news_email").mousemove(function(){
		news_email_rollover('mouseover')
	})
}
function edit_display_rollover_2(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_email_2').hide()
		$('#id_email_details_2').removeClass('email-details-active')
		$('#id_email_details_2').addClass('email-details-button')
	}
	else{
		$('#id_tooldiv_email_2').show()
		$('#id_email_details_2').removeClass('email-details-button')
		$('#id_email_details_2').addClass('email-details-active')
	}
}
function sort_results_rollover_2(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_sort_2').hide()
		$('#id_sort_results_2').removeClass('sort-results-active')
		$('#id_sort_results_2').addClass('sort-results-button')
	}
	else{
		$('#id_tooldiv_sort_2').show()
		$('#id_sort_results_2').removeClass('sort-results-button')
		$('#id_sort_results_2').addClass('sort-results-active')
	}
}
function email_results_rollover_2(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_email_2').hide()
		$('#id_email_results_2').removeClass('email-results-active')
		$('#id_email_results_2').addClass('email-results-button')
	}
	else{
		$('#id_tooldiv_email_2').show()
		$('#id_email_results_2').removeClass('email-results-button')
		$('#id_email_results_2').addClass('email-results-active')
	}
}

function email_details_rollover_2(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_email_details_2').hide()
		$('#id_email_details_2').removeClass('email-details-active')
		$('#id_email_details_2').addClass('email-details-button')
	}
	else{
		$('#id_tooldiv_email_details_2').show()
		$('#id_email_details_2').removeClass('email-details-button')
		$('#id_email_details_2').addClass('email-details-active')
	}
}

function news_email_rollover_2(e){
	if(e == 'mouseout'){
		$('#id_tooldiv_news_2').hide()
		$('#id_news_email_2').removeClass('news-email-active')
		$('#id_news_email_2').addClass('news-email-button')
	}
	else{
		$('#id_tooldiv_news_2').show()
		$('#id_news_email_2').removeClass('news-email-button')
		$('#id_news_email_2').addClass('news-email-active')
	}
}

function sh_toolbar_results_2(){
	$('#id_tooldiv_edit_2').hide()
	$("#id_edit_display_2").mouseout(function(){
		edit_display_rollover_2('mouseout')
	})
	$("#id_edit_display_2").mouseover(function(){
		edit_display_rollover_2('mouseover')
	})

	$('#id_tooldiv_sort_2').hide()
	$("#id_sort_results_2").mouseout(function(){
		sort_results_rollover_2('mouseout')
	})
	$("#id_sort_results_2").mouseover(function(){
		sort_results_rollover_2('mouseover')
	})

	$('#id_tooldiv_email_2').hide()
	$("#id_email_results_2").mouseout(function(){
		email_results_rollover_2('mouseout')
	})
	$("#id_email_results_2").mouseover(function(){
		email_results_rollover_2('mouseover')
	})
	$("#id_email_results_2").mousemove(function(){
		email_results_rollover_2('mouseover')
	})

	$('#id_tooldiv_email').hide()
	$("#id_email_details").mouseout(function(){
		email_details_rollover('mouseout')
	})
	$("#id_email_details").mouseover(function(){
		email_details_rollover('mouseover')
	})
	$("#id_email_details").mousemove(function(){
		email_details_rollover('mouseover')
	})

	$('#id_tooldiv_news_2').hide()
	$("#id_news_email_2").mouseout(function(){
		news_email_rollover_2('mouseout')
	})
	$("#id_news_email_2").mouseover(function(){
		news_email_rollover_2('mouseover')
	})
	$("#id_news_email_2").mousemove(function(){
		news_email_rollover_2('mouseover')
	})
	
	
	$('#id_tooldiv_email_details_2').hide()
	$("#id_email_details_2").mouseout(function(){
		email_details_rollover_2('mouseout')
	})
	$("#id_email_details_2").mouseover(function(){
		email_details_rollover_2('mouseover')
	})
	$("#id_email_details_2").mousemove(function(){
		email_details_rollover_2('mouseover')
	})
	
}
function embedObject(flash_file, width, height) {
	document.write('<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\"'+width+'\" height=\"'+height+'\">' +
	'    <param name=\"movie\" value=\"'+flash_file+'\" />' +
	'    <param name=\"quality\" value=\"high\" />' +
	'	 <param name=\"wmode\" value=\"transparent\" />' +
	'    <embed src=\"'+flash_file+'\" quality=\"high\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"'+width+'\" height=\"'+height+'\"></embed>' +
	'  </object>');
}




function validate_world_cup(form){
  if (document.getElementById(form).branch.value=='') {
	alert("Please select a branch to send the enquiry to.");
  }
  else if (document.getElementById(form).name.value=='' || document.getElementById(form).name.value=='Contact Person *') {
	alert("Please fill in your name.");
  }
  else if (document.getElementById(form).number.value=='' || document.getElementById(form).number.value=='Contact Number *') {
	alert("Please fill in your contact number.");
  }
  else if (isNaN(document.getElementById(form).number.value)) {
	alert("Please fill in your contact number correctly (Only number and no spaces).");
  }
  else if (document.getElementById(form).email.value=='' || document.getElementById(form).email.value=='Email Address *') {
	alert("Please fill in your email address.");
  }
  else if ((document.getElementById(form).email.value.search("@")==-1) || (document.getElementById(form).email.value.search("[.*]")==-1)) {
	alert("Please make sure that you fill in the email field correctly.");
  }
  
  /*else if(AjaxVerifyImageCode($('#img_text').val(), $('#imghash').val()) =="False") {
		alert("Please enter the verification code correctly.");
	} */
  else {
	document.getElementById(form).submit();
	
  }
}