/* clock stuff */ 
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 isUndefined(a) {
    return typeof a == 'undefined';
}

function selections_validate(deliverto, totalcount) {
    var checkbox_choices = 0;

    for (counter = 0; counter < totalcount; counter++) {
        var elem = 'chk'+(counter+1);
        if (document.selections.elements[elem].checked) {
            checkbox_choices = checkbox_choices + 1;
        }
    }

    if (checkbox_choices < 1) {
        alert("Please tick at least one item from the list below.");
    } else {
        document.selections.action = deliverto;
        document.selections.submit();
    }
}

function selections_validate_del(deliverto, totalcount) {
    var checkbox_choices = 0;

    for (counter = 0; counter < totalcount; counter++) {
        var elem = 'chk'+(counter+1);
        if (document.selections.elements[elem].checked) {
            checkbox_choices = checkbox_choices + 1;
        }
    }

    if (checkbox_choices < 1) {
        alert("Please tick at least one item from the list below.");
    } else {
        if (confirm('Are you sure you want to delete all selected items.\nPLEASE NOTE: Any related items may be deleted!')) {
            document.selections.action = deliverto;
            document.selections.submit();
        }
    }
}

function pfv(deliverto, getvars) {
    link = deliverto+'?'+getvars
    MM_openBrWindow(link, '', '');
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
      window.open(theURL,winName,features);
}

function selectAll(theform, thecheckbox) {
   for(var i=0; i<20; i++) {
      if (document.selections.elements['chk'+i]) {
         document.selections.elements['chk'+i].checked = true;
      }
   }
}

function dselectAll() {
   for(var i=0; i<20; i++) {
      if (document.selections.elements['chk'+i]) {
         document.selections.elements['chk'+i].checked = false;
      }
   }
}

function checkBox(themouseevent, box, i, theclass) {
	selected_row_style = "selected";
	x = 'tr' + i;
	if(themouseevent=="click") {
		if(box.checked==true) { 
			box.checked = false;
			document.getElementById(x).className =  theclass;
		} else { 
			box.checked = true;
			document.getElementById(x).className =  selected_row_style;
		}
	} else if(themouseevent=="over") {
		if(box.checked==false) document.getElementById(x).className =  theclass;
	} else if(themouseevent=="out") {
		(box.checked==false) ? document.getElementById(x).className =  theclass : document.getElementById(x).className =  selected_row_style;
	} else if(themouseevent=="selectAll") {
		for(var n=0; n<21; n++) {
			thebox = box + n;
			if(document.getElementById(thebox)) {
			     document.getElementById(thebox).checked = true;
			     x = 'tr' + n;
			     document.getElementById(x).className = selected_row_style;
			}
		}
	}  else if(themouseevent=="dselectAll") {
		for(var n=0; n<21; n++) {
			thebox = box + n;
			if(document.getElementById(thebox)) {
			     document.getElementById(thebox).checked = false;
			     x = 'tr' + n;
			     (n%2==0) ? theclass = "row" : theclass = "alt";
			     document.getElementById(x).className =  theclass;
			}
		}
	}	
}

document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};


function removeAllOptions(selectbox) {
	var i;
	for(i=selectbox.options.length-1;i>=0;i--) {
		selectbox.remove(i);
	}
}

function addOptionDynamic(selectbox, value, text, index) {
	selectbox.options[index] = new Option(text, value);
}

function updateElementType(element_to_change, data, selected_option) {
	removeAllOptions(document.getElementById(element_to_change));
	y = 1;	
	
	var data_array = data.split("~");
    
	addOptionDynamic(document.getElementById(element_to_change), '', 'Property Type', 0);
	
	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).selectedIndex = y;
		}
		y++;
	}
}


function AjaxFetchPropType(url_prefix, passed_value, selected_option, element_to_change) { 

   $.post('/'+url_prefix+'/'+passed_value+'/', function(setit) {
		var data = setit;
		updateElementType(element_to_change, data, selected_option);
    });
}

function listings_chooseLayer() {
    
    if(document.getElementById('listingtype').value=="Residential") {
        elements = document.getElementsByClassName('residential');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'block';
        
        elements = document.getElementsByClassName('commercial');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
        elements = document.getElementsByClassName('holiday');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
	} else if(document.getElementById('listingtype').value=="Commercial") {
        elements = document.getElementsByClassName('residential');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
        elements = document.getElementsByClassName('commercial');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'block';
        
        elements = document.getElementsByClassName('holiday');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';

	} else if(document.getElementById('listingtype').value=="Holiday") {
        elements = document.getElementsByClassName('residential');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
        elements = document.getElementsByClassName('commercial');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
        elements = document.getElementsByClassName('holiday');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'block';
	} else {
        elements = document.getElementsByClassName('residential');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'block';
        
        elements = document.getElementsByClassName('commercial');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
        
        elements = document.getElementsByClassName('holiday');
        for (i = 0; i<elements.length; i++) 
            elements[i].style.display = 'none';
    }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function init() {
    setTimeout('winprnt()', 2500);
}
function winprnt() {
    alert("Please set your printer orientation to portrait and your paper size to A4");
    window.print();
    return true;
}

function validate_contact_agent(form) {
	
	var validExp = /[0-9]{10,11}/;
	
	var cell = document.getElementById(form).contactnum.value;
	var testCell = validExp.test(cell);
	
	if(document.getElementById(form).fname.value == "First Name *") {
		alert("Please enter your name.");
	} else if(document.getElementById(form).lname.value == "Last Name *") {
		alert("Please enter your last name.");			
	} else 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 your email field correctly.");	
	} else if(document.getElementById(form).contactnum.value == "Contact Number *" || (testCell == false) ){
		alert("Please enter your contact number correctly (numbers only).");	
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please leave a comment.");	
	}else{
		document.getElementById(form).submit();
	}
}


function AjaxTellSomeone(url_prefix, name, email, recname, recemail, enquiry, mlm) { 
   $.post('/'+url_prefix+'/'+name+'/'+email+'/'+recname+'/'+recemail+'/'+enquiry+'/',  function(setit) {		
		var data = setit;
		alert(data);		
    });
}

function validate_tellsomeone(form, url_prefix) {

	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 == "Comments" ){
		alert("Please leave a your comment."); 		
	} else{
	  AjaxTellSomeone(url_prefix, document.getElementById(form).name.value,
                                  document.getElementById(form).email.value,
                                  document.getElementById(form).sent_to_name.value,
                                  document.getElementById(form).sent_to_email.value,
                                  document.getElementById(form).enquiry.value
					  );
	  
	}
}

function validate_send_friend(form) {
        if(document.getElementById(form).name.value == "Your Name *") {
                alert("Please enter in a your name.");	
        } else if(document.getElementById(form).email.value == "Your Email *" ){
                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 *" ){
                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(document.getElementById(form).enquiry.value == "Comments *" ){
                alert("Please leave a your comment.");			
        }else{
                document.getElementById(form).submit();
        }
        
}


function validate_booking(form) {
	if(document.getElementById(form).fname.value == "First Name *") {
		alert("Please enter your first name.");
	} else if(document.getElementById(form).lname.value == "Last Name *" ){
		alert("Please enter in a last name.");			
	} else 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).contactnum.value == "Contact Number *" ){
		alert("Please enter in a contact number.");			
	} else if(document.getElementById(form).arrival_date.value == "Arrival Date *") {
        alert("Please choose an arrival date.");	
	} else if(document.getElementById(form).departure_date.value == "Departure Date *") {
        alert("Please choose an departure date.");				
	} else if(document.getElementById(form).adults.value == "") {
        alert("Please select the number of adults.");			
	} else if(document.getElementById(form).children.value == "") {
        alert("Please select the number of children.");	
	} else if(document.getElementById(form).comments.value == "Comments *") {
        alert("Please leave a enquiry or a comment.");			
	} else {
		document.getElementById(form).submit();
	}
	
}

function validate_list_your_property(form) {		
	if(document.getElementById(form).fname.value == "First Name *") {
		alert("Please enter your first name.");
	} else if(document.getElementById(form).lname.value == "Last Name *" ){
		alert("Please enter in a last name.");			
	} else 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).contactnum.value == "Contact Number *" ){
		alert("Please enter in a contact number.");	
		
	} else if(document.getElementById(form).property_address.value == "Property Address *") {
        alert("Please enter the property address.");	
	} else if(document.getElementById(form).listing_type_list.value == "") {
        alert("Please enter the listing type.");				
	} else if(document.getElementById(form).property_type1.value == "" && document.getElementById(form).listing_type_list.value != "Holiday") {		
        alert("Please enter the property type.");						
	} else if(document.getElementById(form).property_type2.value == "" && document.getElementById(form).listing_type_list.value == "Holiday") {
        alert("Please enter the property type.");						
	} else {
		
		document.getElementById(form).submit();
	}	
}


function validate_development_enquiry(form) {
	
	var validExp = /[0-9]{10,11}/;
	
	var cell = document.getElementById(form).contactnum.value;
	var testCell = validExp.test(cell);
	
	if(document.getElementById(form).fname.value == "First Name *") {
		alert("Please enter your name.");
	} else if(document.getElementById(form).lname.value == "Last Name *") {
		alert("Please enter your last name.");			
	} else 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 your email field correctly.");	
	} else if(document.getElementById(form).contactnum.value == "Contact Number *" || (testCell == false) ){
		alert("Please enter your contact number correctly (numbers only).");	
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please leave a comment.");	
	}else{
		document.getElementById(form).submit();
	}
}


function validate_enquiry(form) {
	
	var validExp = /[0-9]{10,11}/;
	
	var cell = document.getElementById(form).contactnum.value;
	var testCell = validExp.test(cell);
	
	if(document.getElementById(form).fname.value == "First Name *") {
		alert("Please enter your name.");
	} else if(document.getElementById(form).lname.value == "Last Name *") {
		alert("Please enter your last name.");			
	} else 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 your email field correctly.");	
	} else if(document.getElementById(form).contactnum.value == "Contact Number *" || (testCell == false) ){
		alert("Please enter your contact number correctly (numbers only).");	
	} else if(document.getElementById(form).comments.value == "Comments *") {
		alert("Please leave a comment.");	
	}else{
		document.getElementById(form).submit();
	}
	
}


// Call the ajax function to delete the 'msg' session variable that is used to popup an alert
function AjaxDeleteSession(){
  $.post('/ajax/session/alert-delete/', function(data){
    var result = data;
  });
}

function hide_show_flash(id1, id2){
	document.getElementById(id1).style.display = 'none';
	document.getElementById(id2).style.display = '';
}