function getHTTPObject() { 
    var xmlhttp; 
    /*@cc_on 
    @if (@_jscript_version >= 5) 
        try { 
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) { 
            try { 
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
            catch (E) { 
                xmlhttp = false; 
            } 
        } 
    @else 
        xmlhttp = false; 
    @end @*/  
    
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
        try {   
            xmlhttp = new XMLHttpRequest(); 
        } catch (e) { 
            xmlhttp = false; 
        } 
    } 

    return xmlhttp;
}
var http = null; //make global
function isValidEmail(email){

    var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   	
    //check if email format is valid
    if(filter.test(email)){
        return true;
        /*if(isUniqueEmail(email)){
            return true;
        }
        else{
            alert(email+' is already assigned. You must choose a unique email address in order to create an account.');
            //alert("response: "+response);

            return false;
        }
        */
    }
    else{
        alert('Please enter properly formatted email address');
        return false;
    }
}
function isUniqueEmail(email){
    
    //var params = "email="+email;
    http = getHTTPObject(); 
    var url = "ucp_is_unique_email.php?email="+email;
    http.onreadystatechange = function(){
        if(http.readyState == 4){
            var response = http.responseText;
            if(response == "true")
                return true;
            else
                return false;
        }
    };
    http.open("GET", url, true);
    http.send(null);
}
function reSendVerificationEmail(email){
    
    //var params = "email="+email;
    http = getHTTPObject(); 
    var url = "ucp_send_verification_email.php?email="+email;
    http.onreadystatechange = function(){
        if(http.readyState == 4){
            alert("Please check your email for a message from RentAntigonish.ca.")
            //alert(http.responseText);
            return true;
        }
    };
    http.open("GET", url, true);
    http.send(null);
}
function handleUniqueEmailHttpResponse(){
    
}
function sendVerificationEmail(user_id){
    
    //var params = "email="+email;
    http = getHTTPObject(); 
    var url = "ucp_send_verification_email.php?user_id="+user_id;
    http.onreadystatechange = function(){
        if(http.readyState == 4){
            alert("Email sent--please check your SPAM!");
            //alert(http.responseText);
        }
    };
    http.open("GET", url, true);
    http.send(null);
    return false;
}
//main links functions (from ucp_links_ajax.php)

function showHome(){    
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_home.php";
    http.open("GET", url, true);
    http.send(null);
}
function showProfile(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_profile.php";
    http.open("GET", url, true);
    http.send(null);
}
function showPMs(folder_name){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_pms.php?folder="+folder_name;
    http.open("GET", url, true);
    http.send(null);
}
function showRentals(msg){
    http = getHTTPObject(); 
    if(msg != null){
        http.onreadystatechange = function(){
            if(http.readyState == 4) {
                var ucp_shell = document.getElementById("ucp_shell");
                ucp_shell.innerHTML = http.responseText;
                
                var msg_loading_shell = document.getElementById("msg_loading_shell");
                msg_loading_shell.innerHTML = "";
                
                var rentals_display_msg = document.getElementById("rentals_display_msg");
                rentals_display_msg.innerHTML = "<div style='padding:3px; background-color:orange; width:270px; border: 1px solid #663300;' align='center'><b>"+msg+"<b></div><br>";
            }
        };
    }else{
        http.onreadystatechange = handleUcpHttpResponse;    
    }
    var url = "ucp_rentals.php";
    http.open("GET", url, true);
    http.send(null);
}
function showAds(){    
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_ads.php";
    http.open("GET", url, true);
    http.send(null);
}
function showWantAds(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_want_ads.php";
    http.open("GET", url, true);
    http.send(null);
}
function showSettings(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_settings.php";
    http.open("GET", url, true);
    http.send(null);
}
function showPromotions(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_promotions.php";
    http.open("GET", url, true);
    http.send(null);
}
function showStats(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_stats.php";
    http.open("GET", url, true);
    http.send(null);
}
function showPolls(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_polls.php";
    http.open("GET", url, true);
    http.send(null);
}
function showClipboard(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "clipboard.php";
    http.open("GET", url, true);
    http.send(null);
}
function showSiteWideHelp(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_site_wide_help.php";
    http.open("GET", url, true);
    http.send(null);
}
    
function handleUcpHttpResponse(){
    if(http.readyState == 4) {
        var ucp_shell = document.getElementById("ucp_shell");
        ucp_shell.innerHTML = http.responseText;
        
        var msg_loading_shell = document.getElementById("msg_loading_shell");
        msg_loading_shell.innerHTML = "";
    }
}
//services functions

function addRental(){
    http = getHTTPObject(); 
    http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_rental_edit.php";
    http.open("GET", url, true);
    http.send(null);
}

function editRental(rental_id, from_save){
    http = getHTTPObject();
    if(from_save){
        http.onreadystatechange = function(){
            if(http.readyState == 4) {
                var ucp_shell = document.getElementById("ucp_shell");
                ucp_shell.innerHTML = http.responseText;
            
                var msg_loading_shell = document.getElementById("msg_loading_shell");
                msg_loading_shell.innerHTML = "";
                
                var rental_msg = document.getElementById("rental_msg");
                rental_msg.innerHTML = "<div style='padding:3px; background-color:orange; width:270px; border: 1px solid #663300;' align='center'><b>Your listing has been submitted.</b></div><br>";
                //alert("Thank you for your submission.");
                                
            }
        };
    }
    else    
        http.onreadystatechange = handleUcpHttpResponse;
    var url = "ucp_rental_edit.php?rental_id="+rental_id;
    http.open("GET", url, true);
    http.send(null);
}
function updateRental(rental_id){
    var params = "";
    
    var form = document.getElementById("ucp_data_form");
    
    form.action = "ucp_rental_update.php?rental_id="+rental_id;
    form.enctype = "multipart/form-data";
    form.method = "POST";
    form.target = "hidden_iframe";
    form.submit();
    //setTimeout("alert('goo');", 5000); //wait five seconds
    alert("Thank you for your changes.");
    var msg="Your changes have been saved."
    
    
    //setTimeout("alert('goo');", 5000); //wait five seconds
    
    //var frame = frames["hidden_iframe"];
    //alert(frame.name);
    //var rental_id = frame.document.getElementById("rental_id");
    //alert(rental_id.innerHTML);
    
    //editRental(rental_id.innerHTML, true);
    //document.getElementById("iframe").innerHTML = "";
    showRentals(msg);
    /*
    var params = "";
    
    var form = document.getElementById("ucp_data_form");
    
    for(var i=0; i < form.length; i++)
        if(form.elements[i].name !="")
            if(form.elements[i].type == "checkbox"){
                if(form.elements[i].checked)
                    params+=form.elements[i].name+"="+form.elements[i].value+"&";
            }
            else
                params+=form.elements[i].name+"="+form.elements[i].value+"&";

            
    http = getHTTPObject(); 
    http.onreadystatechange = handleUpdateRentalHttpResponse;
    var url = "ucp_rental_update.php?rental_id="+rental_id;
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);
*/
}
function handleUpdateRentalHttpResponse(){
    if(http.readyState == 4) {
        var rental_msg = document.getElementById("rental_msg");
        rental_msg.innerHTML = http.responseText;
        //var rental_msg = document.getElementById("rental_msg");
        //rental_msg.innerHTML = "<div style='padding:3px; background-color:orange; width:100px'><b>Changes Saved</b></div>";
    }
}
function submitPreview(form){

    form.action = "rental_preview.php?action=preview";
    form.submit();
}
function submitRental(){
        
    var params = "";
    
    var form = document.getElementById("ucp_data_form");
    
    form.action = "ucp_rental_submit.php";
    form.enctype = "multipart/form-data";
    form.method = "POST";
    form.target = "hidden_iframe";
    form.submit();
    //setTimeout("alert('goo');", 5000); //wait five seconds
    alert("Thank you for your submission.");
    var msg="Your listing has been submitted."
    
    
    //setTimeout("alert('goo');", 5000); //wait five seconds
    
    //var frame = frames["hidden_iframe"];
    //alert(frame.name);
    //var rental_id = frame.document.getElementById("rental_id");
    //alert(rental_id.innerHTML);
    
    //editRental(rental_id.innerHTML, true);
    //document.getElementById("iframe").innerHTML = "";
    showRentals(msg);

    
    /*
    
    for(var i=0; i < form.length; i++)
        if(form.elements[i].name !="")
            if(form.elements[i].type == "checkbox"){
                if(form.elements[i].checked)
                    params+=form.elements[i].name+"="+form.elements[i].value+"&";
            }
            else
                params+=form.elements[i].name+"="+form.elements[i].value+"&";

            
    http = getHTTPObject(); 
    http.onreadystatechange = handleSubmitRentalHttpResponse;
    var url = "ucp_rental_submit.php";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);      
    */
}
function handleSubmitRentalHttpResponse(){
    if(http.readyState == 4) {
        //alert(http.responseText)
        editRental(http.responseText, true);
        //showRentals();
    }
}
//profile functions
function editProfile(){
    
    http = getHTTPObject(); 
    http.onreadystatechange = handleProfileHttpResponse;
    var url = "ucp_profile_edit.php";
    http.open("GET", url, true);
    http.send(null);

}
function changePassword(){
    
    http = getHTTPObject(); 
    http.onreadystatechange = handleChangePasswordHttpResponse;
    var url = "change_password.php?action=edit";
    http.open("GET", url, true);
    http.send(null);
}
function savePassword(){
    var old_password = document.getElementById("old_password");
    var new_password1 = document.getElementById("new_password1");
    var new_password2 = document.getElementById("new_password2");

    if (new_password1.value == '' || new_password2.value == '' || old_password.value==''){
		alert('Please fill out all fields.');
		return false;
	}
	if (new_password1.value != new_password2.value){
        alert('The entered passwords do not match.');
		return false;
	}
    	
    md5hash(old_password, document.getElementById("old_password_md5"));
    md5hash(new_password1, document.getElementById("password_md5"));
    md5hash(new_password2, document.getElementById("passwordconfirm_md5"));
    
    var params ="password_md5="+document.getElementById("password_md5").value+"&old_password_md5="+document.getElementById("old_password_md5").value;
    
    http = getHTTPObject(); 
    http.onreadystatechange = handleChangePasswordHttpResponse;
    var url = "change_password.php?action=save&password_md5="+document.getElementById("password_md5").value+"&old_password_md5="+document.getElementById("old_password_md5").value;;
    http.open("GET", url, true);
    http.send(null);
}
function cancelSavePassword(){
    
    http = getHTTPObject(); 
    http.onreadystatechange = handleChangePasswordHttpResponse;
    var url = "change_password.php";
    http.open("GET", url, true);
    http.send(null);
}
function handleChangePasswordHttpResponse(){
    if(http.readyState == 4){
        var change_password = document.getElementById("change_password");
        change_password.innerHTML = http.responseText;    
    }

}
function addWantAd(user_id){

    http = getHTTPObject(); 
    http.onreadystatechange = handleWantAdButtonHttpResponse;
    var url = "ucp_want_ads_button.php?user_id="+user_id+"&add";
    http.open("GET", url, true);
    http.send(null);
}

function cancelWantAd(user_id){

    http = getHTTPObject(); 
    http.onreadystatechange = handleWantAdButtonHttpResponse;
    var url = "ucp_want_ads_button.php?user_id="+user_id;
    http.open("GET", url, true);
    http.send(null);
}
function handleWantAdButtonHttpResponse(){
    if(http.readyState == 4){
        var new_want_ad_shell = document.getElementById("new_want_ad_shell");
        new_want_ad_shell.innerHTML = http.responseText;
    }
}
function deleteWantAd(want_ad_id){
    
    //var msg_loading_shell = document.getElementById("msg_loading_shell");
    //msg_loading_shell.innerHTML = "<div style='padding:5px; background-color:orange;'><img src='../new-images/icons/loading.gif'/>Submitting Ad. . .</div>";

    //else
    http = getHTTPObject(); 
    http.onreadystatechange = handleProfileHttpResponse;
    var url = "ucp_want_ad_delete.php?want_ad_id="+want_ad_id;
    http.open("GET", url, true);
    http.send(null);
}
function submitWantAd(user_id, details){
    
    //var msg_loading_shell = document.getElementById("msg_loading_shell");
    //msg_loading_shell.innerHTML = "<div style='padding:5px; background-color:orange;'><img src='../new-images/icons/loading.gif'/>Submitting Ad. . .</div>";

    if(details.length == 0){
        alert("Please enter some text");
        return;
    }
    //else
    http = getHTTPObject(); 
    http.onreadystatechange = handleProfileHttpResponse;
    var url = "ucp_want_ad_submit.php?user_id="+user_id+"&details="+details;
    http.open("GET", url, true);
    http.send(null);
}
function handleProfileHttpResponse(){
      
  if(http.readyState == 4) {
    var shell = document.getElementById("profile_shell");
    shell.innerHTML = http.responseText;
  }
}
function displayProfile(){
    
    http = getHTTPObject(); 
    http.onreadystatechange = handleProfileHttpResponse;
    var url = "ucp_profile.php";
    http.open("GET", url, true);
    http.send(null);

}
function updateProfile(){
    
    var email = document.getElementById("email").value;
    
    if(!isValidEmail(email))
        return;
    
    var params = "";
    
    var form = document.getElementById("ucp_data_form");
    
    for(var i=0; i < form.length; i++)
        if(form.elements[i].name !="")
            params+=form.elements[i].name+"="+form.elements[i].value+"&";
            
    http = getHTTPObject(); 
    http.onreadystatechange = handleProfileHttpResponse;
    var url = "ucp_profile_update.php";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);

}
function handleProfileHttpResponse(){
      
  if(http.readyState == 4) {
    var shell = document.getElementById("profile_shell");
    shell.innerHTML = http.responseText;
  }
}

// settings functions

function saveSettings(setting, value){
    var params = "";
    
    var form = document.getElementById("ucp_data_form");
    
    for(var i=0; i < form.length; i++)
        if(form.elements[i].name !=""){
            if(form.elements[i].type == "checkbox"){
                if(form.elements[i].checked)
                    params+=form.elements[i].name+"=on&";
                else
                    params+=form.elements[i].name+"=off&";
            }
            else
                params+=form.elements[i].name+"="+form.elements[i].value+"&";
        }
            
    http = getHTTPObject(); 
    http.onreadystatechange = handleSettingsHttpResponse;
    var url = "ucp_settings_update.php";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);
}
function handleSettingsHttpResponse(){
      
  if(http.readyState == 4) {
    var shell = document.getElementById("settings_shell");
    shell.innerHTML = http.responseText;
  }
}

// rental submission functions
function makeMainPhoto(checkbox){
    
    if(checkbox.checked){
        checkbox.form.main_photo_ind_1.checked = false;
        checkbox.form.main_photo_ind_2.checked = false;
        checkbox.form.main_photo_ind_3.checked = false;
        checkbox.checked = true;
    }
    if(checkbox.form.main_photo_ind_1.checked == false && checkbox.form.main_photo_ind_2.checked == false && checkbox.form.main_photo_ind_3.checked == false)
        checkbox.form.main_photo_ind_1.checked = true;
    
}

function updateUserNotes(notes){

    var params = "user_notes="+notes;
    
    http = getHTTPObject(); 
    http.onreadystatechange = function(){
          if(http.readyState == 4) {            
              //alert(http.responseText);
          }
    };
    var url = "profile.php";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);    

}

function updateRentalAttr(rental_id, field, value){

    var params = "rental_id="+rental_id+"&field="+field+"&value="+value;
    //alert(rental_id+field+value);
    //alert(rental_id+notes);
    
    http = getHTTPObject(); 
 
    var url = "rental.php?attr";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);    

}
function ucpChangeActiveStatus(rental_id, active){
    
    var value="";
    var status_label = document.getElementById("active_status_"+rental_id);
    
    
    if(active){
	status_label.className="active";
	status_label.innerHTML="Currently Active";
    	value=1;
    }
    else{
	status_label.className="inactive";
	status_label.innerHTML="Currently Inactive";
    	value=0;
    }
    
    updateRentalAttr(rental_id, "active_flag", value);
}
var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
function ucpVerifyRental(rental_id){
    var date = new Date();
    
    var verify_span = document.getElementById("verify_span_"+rental_id);

    verify_span.innerHTML = "<img title='Listing Updated 0 Days Ago' src='../new-images/icons/checkmark_ll.gif'/>"
                             +"<span class='active'>Updated:</span> <strong>"+months[date.getMonth()]+" "+date.getDate()+", "+date.getFullYear()+"</strong>";
    
    
    updateRentalAttr(rental_id, "date_updated", date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate());

}
function subscribeToNewsletter(email){
    var params = "email="+email;
    
    http = getHTTPObject(); 
    http.onreadystatechange = function(){
          if(http.readyState == 4) {              
              alert("Thank you for subscribing.");
              document.getElementById("subscriber_email").value="";
          }
    };
    var url = "newsletter.php?action=subscribe";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);    

}
function getCurrentTimeString(){
    var date = new Date();
    var time_updated, hour, minute, second, am_pm_flag="AM";
    hour = date.getHours();
    minute = date.getMinutes();
    second = date.getSeconds();
    if(hour > 12){
        hour-=12;
        am_pm_flag = "PM";
    }
    time_updated = hour+":"+minute+":"+second+" "+am_pm_flag;
    return time_updated;

}
function updateSTFXSUFlag(rental_id,stfxsu_flag){
    
    //update the message
    //Note: should use server time, insetad of browser time, but server time is incorrect...  
    var time_updated = getCurrentTimeString();
    document.getElementById("update_message_"+rental_id).innerHTML="<span valign='middle' onclick='this.style.display=\"none\";' style='padding:2px; background-color:orange; border: 0px solid #663300;'>&nbsp;Updated: <b>"+time_updated+"</b>&nbsp;&nbsp;&nbsp;&nbsp;<img width='12' height='12' src='../new-images/icons/google_x.gif'/>&nbsp;</span>";
    

     var val=0;
     if(stfxsu_flag==true)
        val=1;
     
    var params = "rental_id="+rental_id+"&stfxsu_flag="+val;
    
    http = getHTTPObject(); 
    var url = "stfxsu.php";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);    
}

function hidePhoneOrEmail(phone_or_email, is_hidden){

    //first, check to see if both are checked, which is forbidden
    var email_checkbox = document.getElementById("email_hidden_flag");
    var phone_checkbox = document.getElementById("phone_hidden_flag");
    
    if(email_checkbox.checked && phone_checkbox.checked){
        eval(phone_or_email+"_checkbox.checked=false;");
        alert("You cannot hide both email and phone");
        return;
    }
    
    var value = is_hidden ? 1 : 0;
    var flag = phone_or_email +"_hidden_flag";

    var url = "profile.php";
    var params = "flag="+flag+"&value="+value;
    
    http = getHTTPObject(); 
    http.onreadystatechange = function(){
        if(http.readyState == 4){
            //alert(http.responseText);            
        }
    };
    var time_updated = getCurrentTimeString();
    document.getElementById(phone_or_email+"_hidden_message").innerHTML="<span valign='middle' onclick='this.style.display=\"none\";' style='padding:1px; background-color:orange; border: 0px solid #663300;'>&nbsp;Updated: <b>"+time_updated+"</b>&nbsp;&nbsp;&nbsp;&nbsp;<img width='12' height='12' src='../new-images/icons/google_x.gif'/>&nbsp;</span>";
          
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
    http.send(params);  
}
