
var start=0;
var cid="";
var lastrownum=0;


function getHTTPObject() {
  var xmlhttp;
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  }
  return xmlhttp;
}



// BEGIN : get planning applications

function requestAppInfo(councilid, starting) {

// document.getElementById('searchna').value ="";
 
 var url = document.getElementById('url').value +"/getapps/?cid=";


 var searchna=document.getElementById('searchna').value;
 if (starting==1) start=0;
 http.open("GET", url + councilid + "&start="+start + "&searchna=" + searchna, true);

 http.onreadystatechange = handle_requestapp_response;
 cid=councilid;
 http.send(null);
}

function handle_requestapp_response() {


 if (http.readyState == 4) {

   if(http.status==200) {
     var results=http.responseText;
     var x=document.getElementById("divbrowse");

      document.getElementById("divbrowse").innerHTML=results;
   }
 }
}

function clear_search(councilid) {
 var url = document.getElementById('url').value +"/getapps/?cid=";
 var searchna="";
 document.getElementById('searchna').value="";
 http.open("GET", url + councilid + "&start="+start + "&searchna=" + searchna, true);
 http.onreadystatechange = handle_requestapp_response;
 cid=councilid;
 http.send(null);
}

function inc_start() {

 start+=20;
 requestAppInfo(cid);
}

function dec_start() {
 start-=20;
 if (start<0) start=0;
 requestAppInfo(cid);
}


function inc_start1(cid,page) {
 page++;
 requestNotices(cid,page);
}

function dec_start1(cid,page) {
 page--;
 if (page<=0) page=1;
 requestNotices(cid,page);
}

function requestNotices(councilid, page) {

// document.getElementById('searchna').value ="";

 var url = document.getElementById('url').value +"/notices/"+ councilid + "/" + page;

// if (starting==1) start=0;

 window.location=url;

// var searchna=document.getElementById('searchna').value;
// if (starting==1) start=0;
// http.open("GET", url + councilid + "&start="+start + "&searchna=" + searchna, true);

}



// END : get planning applications




// BEGIN : user registration

function register_user() {

 var url = document.getElementById('url').value + "/register/?";
 var errstr="";

 var error=0;
 var errtitle= "*Please review the highlighted fields.<br>";


 if (document.getElementById('email').value=="") {
     document.getElementById('email').style.borderColor = "#CC0000";
   //  errstr+="- Email address<p/>";
   error=1;
 }
    
 if ((document.getElementById('username').value == document.getElementById('password').value) && document.getElementById('password').value!="") {
   document.getElementById('username').style.borderColor = "#CC0000";
  // errstr+="- Username and password the same. Very bold...<p/>";
   error=1;

 }
    
 if (document.getElementById('username').value=="") {
   document.getElementById('username').style.borderColor = "#CC0000";
  // errstr+="- Username<p/>";
   error=1;

 }
 if (document.getElementById('password').value=="") {
   document.getElementById('password').style.borderColor = "#CC0000";
  // errstr+="- Password<p/>";
   error=1;

 }
 if ((document.getElementById('password').value!=document.getElementById('confirmp').value) && document.getElementById('password').value!="") {
   document.getElementById('password').style.borderColor = "#CC0000";
  // errstr+="- Passwords are not the same<p/>";
   error=1;

 }

 if (error==1) {

  document.getElementById('regerror').innerHTML = errtitle+errstr;
  exit;
 }
    
    

 url+="username=" + document.getElementById('username').value + "&password="+document.getElementById('password').value + "&email=" + document.getElementById('email').value;
 http.open("GET", url, true);
 http.onreadystatechange = handle_register_response;
 http.send(null);
}

function handle_register_response() {
 if (http.readyState == 4) {

   if(http.status==200) {
     var results=http.responseText;
     if (results==0) {
      document.getElementById('regerror').innerHTML = "&nbsp;Account name already being used. Choose another";
      
      }
      else {

      window.location=document.getElementById('url').value +"/welcome";
      }
   }
 }
}
// END : user registration


// BEGIN : add/delete/list user alerts


function create_alert() {
 var url = document.getElementById('url').value +"/alerts/?";

 url+="action=create&cid=" + document.getElementById('council').value + "&area_address="+document.getElementById('area_address').value ;
 http.open("GET", url, true);
 http.onreadystatechange = handle_createalert_response;
 http.send(null);

}

function list_alerts() {
 var url = document.getElementById('url').value +"/alerts/?";
 url+="action=list";
 http.open("GET", url, true);
 http.onreadystatechange = handle_createalert_Response;
 http.send(null);
}


function delete_alert() {
 var Inputs = document.getElementsByTagName('input');
 var delalerts="";
 for( var i = 0; i < Inputs.length; ++i ){
  if(Inputs[i].type == "checkbox" && Inputs[i].checked && Inputs[i].value!="emailalert")
   delalerts+=Inputs[i].value + ",";

 }
 var url = document.getElementById('url').value +"/alerts/?";
 if (delalerts == ""){
    document.getElementById('regerror').innerHTML = "You need to fill out these values";
    exit;
 }
 url+="action=delete&alerts=" + delalerts ;
 http.open("GET", url, true);
 http.onreadystatechange = handle_deletealert_response;
 http.send(null);

}


function handle_createalert_response() {

 if (http.readyState == 4) {

   if(http.status==200) {
     document.getElementById('area_address').value="";
     var response=http.responseText;
     if (response!="0") {
      var results = response.split("|");
      document.getElementById('alerts1').innerHTML = results[1];
      document.getElementById('widgetpreview').innerHTML = results[0];
     }
   }
 }
}


function handle_deletealert_response() {

 if (http.readyState == 4) {

   if(http.status==200) {
    var response=http.responseText;
    var results = response.split("|");
      document.getElementById('alerts1').innerHTML = results[1];
      document.getElementById('widgetpreview').innerHTML = results[0];
   }
 }
}

// END : add/delete/list user alerts


// BEGIN : user notification toggles

function toggle_notification(uid) {
 var url = document.getElementById('url').value +"/alert/?uid=";
 var Inputs = document.getElementsByTagName('input');
 var query="";
 for( var i = 0; i < Inputs.length; ++i ){
  if(Inputs[i].type == "checkbox" && Inputs[i].value=="emailalert" ) {
   if (Inputs[i].checked)
    query="&email=1";
   else
    query="&email=0";
  }
 }
 url+= uid+query;
 http.open("GET", url, true);
 http.onreadystatechange = handle_usernotification_response;
 http.send(null);
}

function handle_usernotification_response() {
 if (http.readyState == 4) {
   if(http.status==200)
     var results=http.responseText;
   }
}


// Pop a window for more detail on individual application
function popwindow(url) {
{
 newwindow=window.open(url,'More Details','height=600,width=800,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,status=no');
 if (window.focus) {newwindow.focus()}
}

}

// Pop a window for more detail on individual application
function popdetail(rownum) {
  if (  document.getElementById('row'+rownum).style.visibility == 'visible') {
    document.getElementById('row'+rownum).style.visibility = 'hidden';
    document.getElementById('row'+rownum).style.display = 'none';
  } else {
    document.getElementById('row'+rownum).style.visibility = 'visible';
    document.getElementById('row'+rownum).style.display = 'block';
  }
  if (lastrownum!=0 && lastrownum!=rownum) {
    document.getElementById('row'+lastrownum).style.visibility = 'hidden';
    document.getElementById('row'+lastrownum).style.display = 'none';
  }
  lastrownum=rownum;



}



// widget stuff

function save_widget() {
 var url = document.getElementById('url').value +"/widget/?";

 url+="action=save&title="+escape(document.getElementById('w_title_text').value)+"&title_bg="+escape(document.getElementById('w_title_bg').value) + "&title_fg=" +escape(document.getElementById('w_title_fg').value)+ "&body_bg=" + escape(document.getElementById('w_body_bg').value)+ "&body_fg=" + escape(document.getElementById('w_body_fg').value)+ "&border=" + escape(document.getElementById('w_border').value)+"&width=" + escape(document.getElementById('w_width').value);
 http.open("GET", url, true);
 http.onreadystatechange = handle_savewidget_response;
 http.send(null);
}

function handle_savewidget_response() {
 if (http.readyState == 4) {

   if(http.status==200) {
     var results=http.responseText;
     if (results=="0")

      document.getElementById('regerror').innerHTML = "Choose another account name";
      else {
        document.getElementById('w_html').value = results;
        document.getElementById('w_cutpaste').style.visibility = 'visible';
        document.getElementById('w_cutpaste').style.display = 'block';
        document.getElementById('w_save').style.visibility = 'hidden';
        document.getElementById('w_save').style.display = 'none';

      
      }
   }
 }
}

function render_widget() {
 var url = document.getElementById('url').value +"/widget/?action=&id=&dummy="+Math.random();
 http.open("GET", url, true);
 http.onreadystatechange = handle_renderwidget_response;
 http.send(null);
}


function handle_renderwidget_response() {
 if (http.readyState == 4) {
   if(http.status==200) {
     var resultw=http.responseText;
     if (resultw=="0")
      document.getElementById('regerror').innerHTML = "Choose another account name";
      else {

       document.getElementById('widgetpreview').innerHTML = resultw;
      }
   }
 }
}



function w_title() {
    var newval;
     newval=document.getElementById('w_title').value;
     document.getElementById('dw_title').innerHTML = newval;
}

function widget_updates(obj,attrib) {

document.getElementById('w_cutpaste').style.visibility = 'hidden';
document.getElementById('w_cutpaste').style.display = 'none';
document.getElementById('w_save').style.visibility = 'visible';
document.getElementById('w_save').style.display = 'block';

switch(obj) {

	case "w_title_text":

          if (attrib=="") attrib=document.getElementById('w_title_text').value;
          document.getElementById('w_titletext').innerHTML = attrib;
          if (document.getElementById('w_title_text').value=="")
           document.getElementById('w_title_text').value=attrib;
          break;
	case "w_title_bg":

          if (attrib=="") attrib=document.getElementById('w_title_bg').value;
          document.getElementById('w_title').style.backgroundColor = attrib;
          break;
	case "w_title_fg":
          if (attrib=="") attrib=document.getElementById('w_title_fg').value;
          document.getElementById('w_title').style.color = attrib;
          break;
	case "w_body_bg":
	  if (attrib=="") attrib=document.getElementById('w_body_bg').value;
          document.getElementById('w_body').style.backgroundColor = attrib;
          break;
	case "w_body_fg":
	  if (attrib=="") attrib=document.getElementById('w_body_fg').value;
          document.getElementById('w_body').style.color = attrib;
          break;
          
	case "w_border":
          
  	  if (attrib=="") attrib=document.getElementById('w_border').value;
           else
          document.getElementById('w_title').style.borderColor = attrib;
          document.getElementById('w_body').style.borderColor = attrib;
          document.getElementById('w_tail').style.borderColor = attrib;
          break;
	case "w_width":
             var width=document.getElementById('w_width').value + 'px';
             document.getElementById("w_title").style.width =width;
             document.getElementById('w_body').style.width = width;
             document.getElementById('w_tail').style.width = width;
          break;
	}

}



var http = getHTTPObject(); // We create the HTTP Object



