function submit_contact()
{
    var problems = "";

    if (document.form1.name.value == "")
    {
        problems = problems+"\n- Please enter your name";
    }
    if (document.form1.email.value == "")
    {
        problems = problems+"\n- Please enter your email address";
    }
    if (!(document.form1.email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- Your email address does not appear to be valid";
    }
    if (document.form1.phone.value == "")
    {
        problems = problems+"\n- Please enter your phone number";
    }
    if (document.form1.message.value == "")
    {
        problems = problems+"\n- Please enter a message";
    }

    if (problems != "")
    {
        alert ("We're sorry, but some of the required fields were missing:\n"+problems+"\n\nPlease update these fields and try again. Thanks!");
    }
    else
    {
        document.form1.action = "/contact-thank-you/";
        document.form1.pancake.value = "yummy";
        document.form1.submit();
    }
}

function submit_contact_fr()
{
    var problems = "";

    if (document.form1.name.value == "")
    {
        problems = problems+"\n- S'il vous plaît entrez votre nom complet";
    }
    if (document.form1.email.value == "")
    {
        problems = problems+"\n- S'il vous plaît, entrez votre adresse e-mail";
    }
    if (!(document.form1.email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- Votre adresse email ne semble pas être valide";
    }
    if (document.form1.phone.value == "")
    {
        problems = problems+"\n- S'il vous plaît entrer votre numéro de téléphone";
    }
    if (document.form1.message.value == "")
    {
        problems = problems+"\n- S'il vous plaît entrer un message";
    }

    if (problems != "")
    {
        alert ("Nous sommes désolés, mais certains des champs obligatoires manquaient:\n"+problems+"\n\nS'il vous plaît mettre à jour ces champs et essayez à nouveau. Merci!");
    }
    else
    {
        document.form1.action = "/fr/contact-thank-you/";
        document.form1.pancake.value = "yummy";
        document.form1.submit();
    }
}


function submit_property_contact()
{
    var problems = "";

    if ((document.form1.full_name.value == "") || (document.form1.full_name.value == "Full Name"))
    {
        problems = problems+"\n- Please enter your full name";
    }
    if ((document.form1.email.value == "") || (document.form1.email.value == "Email Address"))
    {
        problems = problems+"\n- Please enter your email address";
    }
    else if (!(document.form1.email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- Your email address does not appear to be valid";
    }
    if ((document.form1.phone.value == "") || (document.form1.phone.value == "Phone Number"))
    {
        problems = problems+"\n- Please enter your phone number";
    }
    if ((document.form1.message.value == "") || (document.form1.message.value == "Message"))
    {
        problems = problems+"\n- Please enter a message";
    }

    if (problems != "")
    {
        alert ("We're sorry, but some of the required fields were missing:\n"+problems+"\n\nPlease update these fields and try again. Thanks!");
    }
    else
    {
        document.form1.action = "/listing-detail-thank-you/";
        document.form1.pancake.value = "yummy";
        document.form1.submit();
    }
}

function submit_property_contact_fr()
{
    var problems = "";

    if ((document.form1.full_name.value == "") || (document.form1.full_name.value == "Full Name"))
    {
        problems = problems+"\n- S'il vous plaît entrez votre nom complet";
    }
    if ((document.form1.email.value == "") || (document.form1.email.value == "Email Address"))
    {
        problems = problems+"\n- S'il vous plaît, entrez votre adresse e-mail";
    }
    else if (!(document.form1.email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- Votre adresse email ne semble pas être valide";
    }
    if ((document.form1.phone.value == "") || (document.form1.phone.value == "Phone Number"))
    {
        problems = problems+"\n- S'il vous plaît entrer votre numéro de téléphone";
    }
    if ((document.form1.message.value == "") || (document.form1.message.value == "Message"))
    {
        problems = problems+"\n- S'il vous plaît entrer un message";
    }

    if (problems != "")
    {
        alert ("Nous sommes désolés, mais certains des champs obligatoires manquaient:\n"+problems+"\n\nS'il vous plaît mettre à jour ces champs et essayez à nouveau. Merci!");
    }
    else
    {
        document.form1.action = "/fr/listing-detail-thank-you/";
        document.form1.pancake.value = "yummy";
        document.form1.submit();
    }
}



function js_newline_replace(text){
    text = escape(text);
    re_nlchar = "";
    if(text.indexOf('%0D%0A') > -1){
        re_nlchar = /%0D%0A/g ;
    }else if(text.indexOf('%0A') > -1){
        re_nlchar = /%0A/g ;
    }else if(text.indexOf('%0D') > -1){
        re_nlchar = /%0D/g ;
    }
    return unescape( text.replace(re_nlchar,'^^THISISANEWLINECHARACTER^^') );
}

function addComment(id,moderator_id)
{
    var problems = "";

    if (document.comment_form.comment_name.value == "")
    {
        problems = problems+"\n- name is required";
    }
    if (document.comment_form.comment_email.value == "")
    {
        problems = problems+"\n- email is required";
    }
    else if (!(document.comment_form.comment_email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- your email address does not appear to be valid";
    }  
    if (document.comment_form.comment.value == "")
    {
        problems = problems+"\n- comment is required";
    }
    if (problems != "")
    {
        alert ("We're sorry, but some of the required fields were missing:\n"+problems+"\n\nPlease update these fields and try again. Thanks!");
    }          
    else
    {
        var name = document.getElementById('comment_name').value.replace("&"," and ");
        var email = document.getElementById('comment_email').value.replace("&"," and ");
        var comment = document.getElementById('comment').value.replace("&"," and ");
        document.getElementById('pancake').value = "yummy";
        var pancake = document.getElementById('pancake').value;

        // newlines are getting stripped out of comments, so replace them with something before passing
        comment = js_newline_replace(comment);
        //alert(comment);

        if(pancake == "yummy" && name != "" && email != "" && comment != "")
        {
            var resp = execAJAXSimpleSend('/add_comment.php?moderator_id=' + moderator_id + '&id=' + id + '&name=' + name + "&email=" + email + "&comment=" + comment + "&pancake=" + pancake);
        }
            
        if(resp=="")
        {
            document.getElementById('comment_name').value = "";
            document.getElementById('comment_email').value = "";
            document.getElementById('comment').value = "";
            if(moderator_id == 0)
                document.getElementById('leave-comment').innerHTML = "<span class=\"comment-thanks\">Thanks for commenting! Your comment has been posted.</span><br /><br />";
            else
                document.getElementById('leave-comment').innerHTML = "<span class=\"comment-thanks\">Thanks for commenting! Your comment was received, but is subject to moderation.</span><br /><br />";
        }
        document.getElementById('comments').innerHTML = execAJAXSimpleSend('/list_comments.php?id='+id);
    }
}

function addComment_fr(id,moderator_id)
{
    var problems = "";

    if (document.comment_form.comment_name.value == "")
    {
        problems = problems+"\n- nom est requis";
    }
    if (document.comment_form.comment_email.value == "")
    {
        problems = problems+"\n- courriel est requis";
    }
    else if (!(document.comment_form.comment_email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
    {
        problems = problems+"\n- votre adresse email ne semble pas être valide";
    }  
    if (document.comment_form.comment.value == "")
    {
        problems = problems+"\n- Commentaire est requis";
    }
    if (problems != "")
    {
        alert ("Nous sommes désolés, mais certains des champs obligatoires manquaient:\n"+problems+"\n\nS'il vous plaît mettre à jour ces champs et essayez à nouveau. Merci!");
    }          
    else
    {
        var name = document.getElementById('comment_name').value.replace("&"," and ");
        var email = document.getElementById('comment_email').value.replace("&"," and ");
        var comment = document.getElementById('comment').value.replace("&"," and ");
        document.getElementById('pancake').value = "yummy";
        var pancake = document.getElementById('pancake').value;

        // newlines are getting stripped out of comments, so replace them with something before passing
        comment = js_newline_replace(comment);
        //alert(comment);

        if(pancake == "yummy" && name != "" && email != "" && comment != "")
        {
            var resp = execAJAXSimpleSend('/add_comment_fr.php?moderator_id=' + moderator_id + '&id=' + id + '&name=' + name + "&email=" + email + "&comment=" + comment + "&pancake=" + pancake);
        }
            
        if(resp=="")
        {
            document.getElementById('comment_name').value = "";
            document.getElementById('comment_email').value = "";
            document.getElementById('comment').value = "";
            if(moderator_id == 0)
                document.getElementById('leave-comment').innerHTML = "<span class=\"comment-thanks\">Merci pour les commentaires! Votre commentaire a été posté.</span><br /><br />";
            else
                document.getElementById('leave-comment').innerHTML = "<span class=\"comment-thanks\">Votre commentaire a été reçu, mais il est soumis à la modération.</span><br /><br />";
        }
        document.getElementById('comments').innerHTML = execAJAXSimpleSend('/list_comments_fr.php?id='+id);
    }
}


function nameCommentsMask(value)
{
    value = value.replace(/[^a-z_ \-@.A-Z0-9]+/g,"");
    document.getElementById('comment_name').value = value;
}

function emailCommentsMask(value)
{
    value = value.replace(/[^a-z_\-@.A-Z0-9]+/g,"");
    document.getElementById('comment_email').value = value;
}

var irate, mi, cmi, years, tprinc, princ, paym, cpaym, osp,v,downp,downr,comp;
function calcPaym(cdn){
tprinc = round2d(parseFloat(document.smpc.tprinc.value));
downp = .01*parseFloat(document.smpc.downp.value);
downr = ceil2d(downp*tprinc);
princ = tprinc-downr;
document.smpc.princ.value = "$"+addCommas(roundNumber(fmt2d(princ,0),2));
document.smpc.downr.value = "$"+addCommas(roundNumber(fmt2d(downr,0),2));
irate = .01*parseFloat(document.smpc.percent.value);
years=parseFloat(document.smpc.years.value);
term = parseFloat(document.smpc.term.value);
if(term > years)term=years;
if (term==0 || years==0||irate<.0001||princ<1)
{alert("values must be numeric");}
else
{
if(cdn)mi = Math.pow(1+ irate/2,1/6)
else   mi = 1+(irate/12);
       v = 1/mi;
       paym = ceil2d(princ*(mi-1)/(1-Math.pow(mi,-(years*12))));
       osp = (princ-(v*paym*(1-Math.pow(v,12*term)))/(1-v))/Math.pow(v,12*term);
       if(osp<0)osp = 0;
       document.smpc.paym.value = "$"+addCommas(roundNumber(fmt2d(paym,0),2));
       document.smpc.owed.value = "$"+addCommas(roundNumber(fmt2d(osp,0),2));
   }
}
function round2d(n){return(.01* Math.round(100*n));}
function floor2d(n){return(.01* Math.floor(100*n));}
function ceil2d(n){return(.01* Math.ceil(100*n));}
// format number n as string width w with 2 decimal places
function fmt2d(n,w)
{
   var work,dp,sl,dl;
   work = ""+floor2d(n); // force only 2 decimals
   sl=work.length;
   if(-1 == (dp = work.indexOf(".")))work=work+".00";
   else if(3 > sl-dp)work = work+".00".substring(sl-dp,3);
   sl = work.length;
   if(0 != w && w !=sl)
      if(w<sl){work = "*";for(sl=1;sl<w;sl++)work=work+"*";}
      else for(;sl<w;sl++)work=" "+work;
   return work;
}
function addCommas(nStr)
{
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
function roundNumber(num, dec) {
    var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
    return result;
}




function toggle_title_tips()
{
    var title_span = document.getElementById('title_tips');
    if (title_span.innerHTML == "&nbsp;")
    {
        title_span.innerHTML = "very important for ranking. put keywords first. keep the total number of characters under 80. 10 character minimum. be sure that every page has a unique title tag. <a href=\"javascript:void(0);\" onClick=\"MM_openBrWindow('seo_title_tags.htm','','scrollbars=yes,resizable=yes,width=600,height=500')\">more info...</a>";
    }
    else
    {
        title_span.innerHTML = "&nbsp;"
    }
}

function toggle_desc_tips()
{
    var desc_span = document.getElementById('desc_tips');
    if (desc_span.innerHTML == "&nbsp;")
    {
        desc_span.innerHTML = "200 characters maximum. 10 charactes minimum. minor effect on ranking. be sure that every page has a unique description tag.  write good descriptions that entice people to click. <a href=\"javascript:void(0);\" onClick=\"MM_openBrWindow('seo_description_tags.htm','','scrollbars=yes,resizable=yes,width=700,height=670')\">more info...</a>";
    }
    else
    {
        desc_span.innerHTML = "&nbsp;"
    }
}
function toggle_alt_tips()
{
    var desc_span = document.getElementById('alt_tips');
    if (desc_span.innerHTML == "&nbsp;")
    {
        desc_span.innerHTML = "<br />In image filenames, words must be separated with dashes. No underscores, no spaces. For example, a good filename would be: \"lamy-safari-charcoal-pen\". The ALT text should describe the picture, and should include good keywords that people might search for, so always include the word pen if it's a pen. For example, \"Lamy Safari Charcoal Pen\". Make sure each image has a unique filename and ALT text.";
    }
    else
    {
        desc_span.innerHTML = "&nbsp;"
    }
}
function toggle_url_tips()
{
    var url_span = document.getElementById('url_tips');
    if (url_span.innerHTML == "&nbsp;")
    {
        url_span.innerHTML = "Once a page has been indexed in the search engines, it starts gaining rank and trust. If you change the filename of the page, then the search engines will see it as a new page, and it will have to start from scratch. There is really only one time that a filename can be changed, and that is shortly after a page was first created, and before any SEO work has been done on the page - so, within a day or two of creating a new page. If you must change the page filename, here are the naming guidelines:<br> Try to incorporate keywords. Use lowercase alphabetic characters and dashes only - NO SPACES. NO SPECIAL CHARACTERS. 3 WORD MAXIMUM. The filename Must be unique for each page.<br>Example: edmonton-real-estate"
    }
    else
    {
        url_span.innerHTML = "&nbsp;"
    }
}   

function changeURL()
{
    var agree = confirm("PLEASE NOTE\nIT IS A VERY RARE SITUATION WHERE YOU SHOULD CHANGE AN EXISTING PAGE'S FILENAME.\nOnce a page has been indexed in the search engines, it starts gaining rank and trust. If you change the URL of the page, then the search engines will see it as a new page, and it will have to start from scratch. There is really only one time that a filename can be changed, and that is shortly after a page was first created, and before any SEO work has been done on the page - so, within a day or two of creating a new page. Are you sure you want to change this filename? Click ok if yes, cancel if no.");
    if (agree)
    {
        document.forms[1].url.disabled = false;
    }
}

if(document.getElementById("google_title") != null)
    var ori_title = document.getElementById("google_title").innerHTML;
if(document.getElementById("google_text") != null)
    var ori_text = document.getElementById("google_text").innerHTML;
if(document.getElementById("urlout") != null)
    var ori_link = document.getElementById("urlout").innerHTML;
var short_title = "";
var short_text = "";
function blurTitle()
{
    if (document.getElementById("meta_title").value == "")
        document.getElementById("google_title").innerHTML = ori_title;
}
function changeTitle()
{
    if(document.getElementById("meta_title").value.length <=70)   
        document.getElementById("google_title").innerHTML = document.getElementById("meta_title").value;
    else
    {
        short_title = document.getElementById("meta_title").value.substring(0,70);
        document.getElementById("google_title").innerHTML = document.getElementById("meta_title").value.substring(0,short_title.lastIndexOf(" ")) + "...";
    }
    
    
    if(document.getElementById("meta_title").value =="")
        document.getElementById("google_title").innerHTML = ori_title;
}
function blurText()
{
    if (document.getElementById("meta_description").value == "")
        document.getElementById("google_text").innerHTML = ori_text;
}
function changeText()
{
    
    if(document.getElementById("meta_description").value.length <=200)   
        document.getElementById("google_text").innerHTML = document.getElementById("meta_description").value;
    else
    {
        short_title = document.getElementById("meta_description").value.substring(0,200);
        document.getElementById("google_text").innerHTML = document.getElementById("meta_description").value.substring(0,short_title.lastIndexOf(" ")) + "...";
    }    
    
    
    if(document.getElementById("meta_description").value == "")
        document.getElementById("google_text").innerHTML = ori_text;
        
        
}

function blurLink()
{

    if(document.getElementById("url").value.substring(document.getElementById("url").value.length-1, document.getElementById("url").value.length) == "-")
        document.getElementById("url").value = document.getElementById("url").value.substring(0, document.getElementById("url").value.length-1);
        
    if (document.getElementById("url").value == "")
        document.getElementById("urlout").innerHTML = ori_link;
}
function changeLink()
{
    var link = document.getElementById("url").value.replace(/[^a-z\/A-Z0-9]+/g,"-");
    
    
    if(link.substring(link.length-1, link.length) == "-")
        link = link.substring(0, link.length-1);
    if(link.substring(0,1) == "-")
        link = link.substring(1,link.length);          
    document.getElementById("link").innerHTML = link.toLowerCase() + "/";
    if(document.getElementById("url").value == "")
        document.getElementById("link").innerHTML = "";
}
function changeBrand(brand)
{
    var section = brand.options[brand.selectedIndex].text;

    var link = section.replace(/[^a-z\/A-Z0-9]+/g,"-");
    
    
    if(link.substring(link.length-1, link.length) == "-")
        link = link.substring(0, link.length-1);
    if(link.substring(0,1) == "-")
        link = link.substring(1,link.length);          
    
    document.getElementById("brand").innerHTML = link.toLowerCase();
    if(brand == "")
        document.getElementById("brand").innerHTML = "brand";    
}
function textCounter(field,cntfield,maxlimit)
{
    var cntDiv = document.getElementById(cntfield);
    var totalchars = field.value.length;
    var remaining = maxlimit - field.value.length;

    if ((remaining < 0) && (totalchars >= 10))
        cntDiv.innerHTML = "Total characters: "+totalchars+" | <font color=\"red\">Remaining characters: "+remaining+"</font>";

    else
        cntDiv.innerHTML = "Total characters: "+totalchars+" | Remaining characters: "+remaining;
}

function textCounterBlock(field,cntfield,maxlimit)
{
    var cntDiv = document.getElementById(cntfield);
    var totalchars = field.value.length;
    if(totalchars > maxlimit)
    {
        field.value = field.value.substring(0,200);
        return false;
    }
    var remaining = maxlimit - field.value.length;

    if ((remaining < 0) && (totalchars >= 10))
        cntDiv.innerHTML = "Total characters: "+totalchars+" | <font color=\"red\">Remaining characters: "+remaining+"</font>";

    else
        cntDiv.innerHTML = "Total characters: "+totalchars+" | Remaining characters: "+remaining;
}


function urlMaskFilename(value,id)
{
    if(value.substring(value.length-1, value.length) == "-")
        return;

    value = value.replace(/[^a-zA-Z0-9]+/g,"-");
    

    if(value.substring(0,1) == "-")
        value = value.substring(1,value.length);          
    value = value.toLowerCase();

    document.getElementById('filename_' + id).value = value;
}

function urlMaskField(value,field)
{
    if(value.substring(value.length-1, value.length) == "-")
        return;

    value = value.replace(/[^a-zA-Z0-9]+/g,"-");
    

    if(value.substring(0,1) == "-")
        value = value.substring(1,value.length);          
    value = value.toLowerCase();

    document.getElementById(field).value = value;
}


function urlMask(value)
{
    if(value.substring(value.length-1, value.length) == "-")
        return;

    value = value.replace(/[^a-z\/A-Z0-9]+/g,"-");
    

    if(value.substring(0,1) == "-")
        value = value.substring(1,value.length);          
    value = value.toLowerCase();

    document.getElementById('url').value = value;
}

function userMask(value)
{
    value = value.replace(/[^a-z_\-@.A-Z0-9]+/g,"");
    document.getElementById('email').value = value;
}
function nameCommentsMask(value)
{
        value = value.replace(/[^a-z_ \-@.A-Z0-9]+/g,"");
    document.getElementById('comment_name').value = value;
}

function emailCommentsMask(value)
{
        value = value.replace(/[^a-z_\-@.A-Z0-9]+/g,"");
    document.getElementById('comment_email').value = value;
}

function secondsMask(value)
{
    value = value.replace(/[^0-9]+/g,"");
    document.getElementById('interval').value = value;
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function resizeText(multiplier) {
  if (document.body.style.fontSize == "") {
    document.body.style.fontSize = "1.0em";
  }
  document.body.style.fontSize = parseFloat(document.body.style.fontSize) + (multiplier * 0.2) + "em";
}


function copyToClipboard()
{
var meintext = document.getElementById('clip_text').value;
 if (window.clipboardData) 
   {
   
   // the IE-manier
   window.clipboardData.setData("Text", meintext);
   
   // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
   // het is mij echter onbekend vanaf welke versie dit precies werkt:
   }
   else if (window.netscape) 
   { 
   
   // dit is belangrijk maar staat nergens duidelijk vermeld:
   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
   
   // maak een interface naar het clipboard
   var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
   if (!clip) return;
   
   // maak een transferable
   var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
   if (!trans) return;
   
   // specificeer wat voor soort data we op willen halen; text in dit geval
   trans.addDataFlavor('text/unicode');
   
   // om de data uit de transferable te halen hebben we 2 nieuwe objecten nodig   om het in op te slaan
   var str = new Object();
   var len = new Object();
   
   var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
   
   var copytext=meintext;
   
   str.data=copytext;
   
   trans.setTransferData("text/unicode",str,copytext.length*2);
   
   var clipid=Components.interfaces.nsIClipboard;
   
   if (!clip) return false;
   
   clip.setData(trans,null,clipid.kGlobalClipboard);
   
   }
}
/*
Allowing the site to copy the text


Internet Explorer 6

   1. Go to Tools -> Internet Options.
   2. Go to Security tab.
   3. Select “Internet” zone, then click on “Custom level…” button.
   4. Scroll down to “Scripting” section (at the bottom few).
   5. Under “Allow Paste Operations via Script” option, check or select (tick) Enable. 
   6. Click Ok twice to exit from Internet Options.

Internet Explorer 7 and later

   1. Go to Tools -> Internet Options.
   2. Go to Security tab.
   3. Select “Internet” zone, then click on “Custom level…” button.
   4. Scroll down to “Scripting” section (at the bottom few).
   5. Under “Allow Programmatic clipboard access” option, check or select (tick) Enable. 
   6. Click Ok twice to exit from Internet Options.

Firefox

   1. Paste about:config into browser address bar.
   2. Click right mouse button somewhere in active part of preference list window and choose New > Boolean option from context menu
   3. Paste signed.applets.codebase_principal_support as the Preference name into the New boolean value window input box.
   4. Set boolean value to true. Keep in mind that Preference names are case-sensitive.
   5. Restart Firefox
   6. Use the "copy this" function in your CMS.
   7. Firefox will confirm again if you allow or deny that operation, you have the option to memorize or not your option. 
   
   */

function subscription_result()
{
    document.getElementById("progress").style.display = "none";
    document.getElementById("subscription-result").style.display = "block";
}
   
function subscribe_user()
{
    var first_name = document.getElementById("first_name").value.replace("&"," and ");
    var last_name = document.getElementById("last_name").value.replace("&"," and ");
    var address = document.getElementById("address").value.replace("&"," and ");
    var city = document.getElementById("city").value.replace("&"," and ");
    var province= document.getElementById("province").value.replace("&"," and ");
    var postal_code= document.getElementById("postal_code").value.replace("&"," and ");
    var phone= document.getElementById("phone").value.replace("&"," and ");
    var country= document.getElementById("country").value.replace("&"," and ");
    var email = document.getElementById("email").value.replace(/[^a-z.@_A-Z0-9]+/g,"");
    var heard_about = document.getElementById("how_d_hear").value;
    var heard_other = document.getElementById("heard_other").value;
    
    
    var confirm_email = document.getElementById("confirm_email").value.replace(/[^a-z.@_A-Z0-9]+/g,"");
    var term = "";
    for(i=0;i<document.form1.term.length;i++)
        if(document.form1.term[i].checked)
            term = document.form1.term[i].value;
    
   
    document.getElementById('first_name_validator').innerHTML = "";
    document.getElementById('last_name_validator').innerHTML = "";
    document.getElementById('address_validator').innerHTML = "";
    document.getElementById('city_validator').innerHTML = "";
    document.getElementById('province_validator').innerHTML = "";
    document.getElementById('postal_code_validator').innerHTML = "";
    document.getElementById('country_validator').innerHTML = "";
    document.getElementById('phone_validator').innerHTML = "";
    document.getElementById('email_validator').innerHTML = "";
    document.getElementById('confirm_email_validator').innerHTML = "";
    document.getElementById('heard_validator').innerHTML = "";
    document.getElementById('heard_other_validator').innerHTML = "";
    document.getElementById('term_validator').innerHTML = "";
    
    
    var error = 0;
    if(first_name == "")
    {
        document.getElementById('first_name_validator').innerHTML += "* Please enter your first name<br />";
        error++;
    }
    else
    {
        document.getElementById('first_name_validator').innerHTML = "";
    }
    
    if(last_name == "")
    {
        document.getElementById('last_name_validator').innerHTML += "* Please enter your last name<br />";
        error++;
    }
    else
    {
        document.getElementById('last_name_validator').innerHTML = "";
    }    
    
    if(address == "")
    {
        document.getElementById('address_validator').innerHTML += "* Please enter your address<br />";
        error++;
    }
    else
    {
        document.getElementById('address_validator').innerHTML = "";
    }        

    if(city == "")
    {
        document.getElementById('city_validator').innerHTML += "* Please enter your city<br />";
        error++;
    }
    else
    {
        document.getElementById('city_validator').innerHTML = "";
    }            

    if(province == "")
    {
        document.getElementById('province_validator').innerHTML += "* Please select your province<br />";
        error++;
    }
    else
    {
        document.getElementById('province_validator').innerHTML = "";
    }         
    
    if(postal_code == "")
    {
        document.getElementById('postal_code_validator').innerHTML += "* Please enter your postal code<br />";
        error++;
    }
    else
    {
        document.getElementById('postal_code_validator').innerHTML = "";
    }    
         
         
    if(country == "")
    {
        document.getElementById('country_validator').innerHTML += "* Please enter your country<br />";
        error++;
    }
    else
    {
        document.getElementById('country_validator').innerHTML = "";
    }             
         
    if(phone == "")
    {
        document.getElementById('phone_validator').innerHTML += "* Please enter your phone number<br />";
        error++;
    }
    else
    {
        document.getElementById('phone_validator').innerHTML = "";
    }          
    
        
    if(email == "")
    {
        document.getElementById('email_validator').innerHTML += "* Please enter your E-mail<br />";
        error++;
    }
    else
    {
        if (!(email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
        {
            document.getElementById('email_validator').innerHTML += "* Your Email Address does not appear to be valid<br />";
            error++;
        }
        else
        {
            var email_check = execAJAXSimpleSend('/check_user.php?email=' + email); // The E-mail is the user name, hence the filename check_user
            
            if(email_check != "0")
            {

                document.getElementById('email_validator').innerHTML += "* The E-mail address " + email + " is already subscribed to our email list.<br />";
                error++;
            }
            else
            {
                document.getElementById('email_validator').innerHTML = "";
            }        
        }    
    }
    
    if(confirm_email == "")
    {
        document.getElementById('confirm_email_validator').innerHTML += "* Please confirm your E-mail<br />";
        error++;
    }
    else
    {
        if(confirm_email != email)
        {
            document.getElementById('confirm_email_validator').innerHTML += "* Please confirm your E-mail correctly.<br />";
            error++;
        }
        else
        {
            document.getElementById('confirm_email_validator').innerHTML = "";
        }          
    }
    
  
    if(heard_about == "0")
    {
        document.getElementById('heard_validator').innerHTML += "* How did you hear about us?<br />";
        error++;
    }
    else
    {
        document.getElementById('heard_validator').innerHTML = "";
    }
        
    


    if(heard_about == "4" && heard_other == "")
    {
        document.getElementById('heard_other_validator').innerHTML += "* Please specify how you heard about us.<br />";
        error++;
    }
    else
    {
        document.getElementById('heard_other_validator').innerHTML = "";
    }

    if(term == "")
    {
        document.getElementById('term_validator').innerHTML += "* Please select to which term you wish to subscribe.<br />";
        error++;
    }
    else
    {
        document.getElementById('term_validator').innerHTML = "";
    }


    if(error == 0)
    {
    document.getElementById("subscription-form").style.display = "none";
    document.getElementById("progress").style.display = "block";

    setTimeout(subscription_result,1000);
    
    var resp = execAJAXSimpleSend("/subscribe_user.php?first_name=" + first_name  + "&last_name=" + last_name + "&address=" + address + "&city=" + city + "&province=" + province + "&country=" + country + "&postal_code=" + postal_code + "&phone=" + phone + "&email=" + email + "&heard_about=" + heard_about + "&term="+term + "&heard_other=" + heard_other);
    }

}


function login()
{
    var usr = document.getElementById("login").value;
    var pwd = document.getElementById("pass").value;

    var resp = execAJAXSimpleSend("/login.php?usr=" + usr  + "&pwd=" + pwd);
    
    resp = resp.split("||");
    
    document.getElementById("login-box").innerHTML = resp[0];
    if(resp[1] == "french")
        window.location = "/fr/my-listings" ;
    else if (resp[1] != "error")
        window.location = "/my-listings" ;
}
function login_fr()
{
    var usr = document.getElementById("login").value;
    var pwd = document.getElementById("pass").value;

    var resp = execAJAXSimpleSend("/login_fr.php?usr=" + usr  + "&pwd=" + pwd);
    
    resp = resp.split("||");
    
    document.getElementById("login-box").innerHTML = resp[0];
    if(resp[1] == "english")
        window.location = "/my-listings" ;
    else if(resp[1] != "error")
        window.location = "/fr/my-listings" ;
}


function update_user(curr_email)
{
    var first_name = document.getElementById("first_name").value.replace("&"," and ");
    var last_name = document.getElementById("last_name").value.replace("&"," and ");
    var address_1 = document.getElementById("address_1").value.replace("&"," and ");
    var address_2 = document.getElementById("address_2").value.replace("&"," and ");

    var city = document.getElementById("city").value.replace("&"," and ");
    var province= document.getElementById("province").value.replace("&"," and ");
    var postal_code= document.getElementById("postal_code").value.replace("&"," and ");
    var home_phone= document.getElementById("home_phone").value.replace("&"," and ");
    var cell_phone= document.getElementById("cell_phone").value.replace("&"," and ");

    var email = document.getElementById("email").value.replace(/[^a-z.@_A-Z0-9]+/g,"");
    
    document.getElementById('first_name_validator').innerHTML = "";
    document.getElementById('last_name_validator').innerHTML = "";
    document.getElementById('email_validator').innerHTML = "";
    document.getElementById('current_password_validator').innerHTML = "";
    document.getElementById('new_password_validator').innerHTML = "";
    document.getElementById('repeat_new_password_validator').innerHTML = "";
    

    var error = 0;
    if(first_name == "")
    {
        document.getElementById('first_name_validator').innerHTML += "* Please enter your first name<br />";
        error++;
    }
    else
    {
        document.getElementById('first_name_validator').innerHTML = "";
    }
    if(last_name == "")
    {
        document.getElementById('last_name_validator').innerHTML += "* Please enter your last name<br />";
        error++;
    }
    else
    {
        document.getElementById('last_name_validator').innerHTML = "";
    }    
    
    if(address_1 == "")
    {
        document.getElementById('address_1_validator').innerHTML += "* Please enter your address<br />";
        error++;
    }
    else
    {
        document.getElementById('address_1_validator').innerHTML = "";
    }        

    if(city == "")
    {
        document.getElementById('city_validator').innerHTML += "* Please enter your city<br />";
        error++;
    }
    else
    {
        document.getElementById('city_validator').innerHTML = "";
    }            

    if(province == "")
    {
        document.getElementById('province_validator').innerHTML += "* Please select your province<br />";
        error++;
    }
    else
    {
        document.getElementById('province_validator').innerHTML = "";
    }         
    
    if(postal_code == "")
    {
        document.getElementById('postal_code_validator').innerHTML += "* Please enter your postal code<br />";
        error++;
    }
    else
    {
        document.getElementById('postal_code_validator').innerHTML = "";
    }    
         
           
    if(home_phone == "" && cell_phone == "")
    {
        document.getElementById('home_phone_validator').innerHTML += "* Please enter at least one phone number<br />";
        error++;
    }
    else
    {
        document.getElementById('home_phone_validator').innerHTML = "";
    }         
    
    if(email == "")
    {
        document.getElementById('email_validator').innerHTML += "* Please enter your E-mail<br />";
        error++;
    }
    else
    {
        if (!(email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.biz)|(\.coop)|(\.info)|(\.name)|(\.pro)|(\.int)|(\.aero)|(\..{2,2}))$)\b/gi)))
        {
            document.getElementById('email_validator').innerHTML += "* Your Email Address does not appear to be valid<br />";
            error++;
        }
        else
        {
            if(curr_email != email)
                var email_check = execAJAXSimpleSend('/check_user.php?email=' + email); // The E-mail is the user name, hence the filename check_user
            else
                var email_check = 0;
            if(email_check != "0")
            {

                document.getElementById('email_validator').innerHTML += "* The E-mail address " + email + " is already assigned to a user.<br />";
                error++;
            }
            else
            {
                document.getElementById('email_validator').innerHTML = "";
            }        
        }    
    }
    
    
    document.getElementById('current_password_validator').innerHTML = "";
    document.getElementById('new_password_validator').innerHTML = "";
    document.getElementById('repeat_new_password_validator').innerHTML = "";

    var current_password = document.getElementById("current_password").value;
    var new_password = document.getElementById("new_password").value;
    var repeat_new_password = document.getElementById("repeat_new_password").value;


    if(current_password == "" && (repeat_new_password != "" || new_password !=""))
    {
        document.getElementById('current_password_validator').innerHTML += "* In order to change your password you must enter your current password, enter the new password and confirm the new password.<br />";
        error++;    
    }
    
    if(current_password != "")
    {
        if(new_password == "")
        {
            document.getElementById('new_password_validator').innerHTML += "* Please enter your new password.<br />";
            error++;
        }
        else
        {
            document.getElementById('new_password_validator').innerHTML = "";
        }        
    
        if(repeat_new_password == "")
        {
            document.getElementById('repeat_new_password_validator').innerHTML += "* Please confirm your new password.<br />";
            error++;
        }
        else
        {
            document.getElementById('repeat_new_password_validator').innerHTML = "";
        } 
        
        if(new_password != repeat_new_password)
        {
            document.getElementById('new_password_validator').innerHTML += "* The entered passwords do not match.<br />";
            error++;
        }
        else
        {
            document.getElementById('new_password_validator').innerHTML = "";
        }          
    
    }

    

    if(error == 0)
    {
        var resp = execAJAXSimpleSend("/update_user.php?first_name=" + first_name  + "&last_name=" + last_name + "&address_1=" + address_1 + "&address_2=" + address_2 + "&city=" + city + "&province=" + province + "&postal_code=" + postal_code + "&home_phone=" + home_phone + "&cell_phone=" + cell_phone+ "&email=" + email + "&current_password=" + current_password + "&new_password=" + new_password);
        
        if(resp == "error - current password")
        {
            document.getElementById('account_updated').innerHTML = "<h1>Your account has NOT been updated.<br />Problem: - Wrong current password</h1>";
        }
        else
        {
            document.getElementById('account_updated').innerHTML = "<h1>Your account has been updated</h1>";
            document.getElementById("current_password").value = "";
            document.getElementById("new_password").value = "";
            document.getElementById("repeat_new_password").value = "";
        }
        
    }

}

function clearText(element)
{
    if(element.value == "email" || element.value == "password")
        element.value = "";
}

function fillText(element,text)
{
    if(element.value == "")
        element.value = text;
}

function checkOther(value)
{
    if(value == "4")
        document.getElementById("heard-other").style.display = "block";
    else
        document.getElementById("heard-other").style.display = "none";

}

function send(event)
{
  if(event.keyCode == 13)
  {
    login();
  }
}
