// ***************************************************

function filterEmailAddresses() {
    var url = "/functions/ajax/filteremails.asp";
    var strAddresses = document.getElementById("EmailAddresses").value;

    strAddresses = strAddresses.replace(/(\r\n|\n|\r)/gm, ",")

    var postdata = "adr=" + strAddresses;
    sendRequest(url, showFilteredEmailAddresses, postdata);
}

function showFilteredEmailAddresses(req){
   if (req.status == 200){
      document.getElementById("EmailAddresses").value = req.responseText;
  }
  alert("Done!");
}

// ***************************************************

function filterPhoneNumbers() {
    var url = "/functions/ajax/filterphonenumbers.asp";
    var strAddresses = document.getElementById("PhoneNumbers").value;

    strAddresses = strAddresses.replace(/(\r\n|\n|\r)/gm, ",")

    var postdata = "no=" + strAddresses;
    sendRequest(url, showFilteredPhoneNumbers, postdata);
}

function showFilteredPhoneNumbers(req) {
    if (req.status == 200) {
        document.getElementById("PhoneNumbers").value = req.responseText;
    }
    alert("Done!");
}

// ***************************************************

function getCities() {
    var regionSelect = document.getElementById("region");
    var i;
    var count = 0;
    for (i = 0; i < regionSelect.options.length; i++) {
        if (regionSelect.options[i].selected) {
            count++;
        }
    }
    if (count > 1) {
        document.getElementById("cityDiv").innerHTML = "";
    }
    else {
        var regionID = document.getElementById("region").value;
        var url = "/functions/ajax/get_cities.asp?id=" + regionID;
        sendRequest(url, showCities);
    }
}

function showCities(req){
   // only if "OK"
   if (req.status == 200){
      document.getElementById("cityDiv").innerHTML = req.responseText;
   } 
}


function getCities2() {
    var regionSelect = document.getElementById("region2");
    var i;
    var count = 0;
    for (i = 0; i < regionSelect.options.length; i++) {
        if (regionSelect.options[i].selected) {
            count++;
        }
    }
    if (count > 1) {
        document.getElementById("cityDiv2").innerHTML = "";
    }
    else {
        var regionID = document.getElementById("region2").value;
        var url = "/functions/ajax/get_cities2.asp?id=" + regionID;
        sendRequest(url, showCities2);
    }
}

function showCities2(req){
   // only if "OK"
   if (req.status == 200){
      document.getElementById("cityDiv2").innerHTML = req.responseText;
   } 
}

function subscribeToNewsletter(id){
  var url = "/functions/ajax/add_to_newsletter.asp?id=" + id;
   sendRequest(url, showAlert);
}

function showAlert(req){
   // only if "OK"
   if (req.status == 200){
      alert('' + req.responseText);
   } 
}

function addAdLanguage(){
   var languageID = document.getElementById("ad_language").value;
   var langLevel = document.getElementById("language_level").value;
   var url = "/functions/ajax/add_ad_language.asp?langID=" + languageID + "&level=" + langLevel;
   sendRequest(url, showAdLanguages);
}
function removeAdLanguage(languageID){
   var url = "/functions/ajax/remove_ad_language.asp?langID=" + languageID;
   sendRequest(url, showAdLanguages);
}

function showAdLanguages(req){
   if (req.status == 200){
      document.getElementById("ad_languages").innerHTML = req.responseText;
   } 
}

function adPlan(strD, mode){
   var dtmArray = strD.split("-");
   url = "/functions/ajax/adplan.asp?d=" + strD + "&mode=" + mode;
   var dtm = new Date(dtmArray[2], dtmArray[1] - 1, dtmArray[0]);
   m = dtm.getMonth();
   y = dtm.getFullYear();
   d = dtm.getDate();
   sendRequest(url, updateAdPlanField);
}

function updateAdPlanField(req){
   var dtm = new Date(y, m, d, 0, 0, 0);
   var strDtm = Right("00" + dtm.getDate(), 2) + "-" + Right("00" + (dtm.getMonth()+1), 2) + "-" + dtm.getFullYear();

   if (req.status == 200){
      var myDiv = document.getElementById("day_" + strDtm);
      myDiv.innerHTML = req.responseText;
   }   
   updateFreeDays();
}


function updateFreeDays(){
   sendRequestToDiv("/functions/ajax/freefrontpagedays.asp", "free_fpdays");
   sendRequestToDiv("/functions/ajax/freeprioritydays.asp", "free_pdays");   
}


function updateAdPlan(){
   var dtm = new Date(y, m, 1, 0, 0, 0);
   for(var i = 1; i <= 31; i++){
      dtm.setDate(i);
      var strDtm = Right("00" + dtm.getDate(), 2) + "-" + Right("00" + (dtm.getMonth()+1), 2) + "-" + dtm.getFullYear();
      url = "/functions/ajax/adplan.asp?d=" + strDtm + "&mode=";
      if(dtm.getMonth() == m){
         sendRequestToDiv(url, "day_" + strDtm);
      }
   }
}


function Right(str, n)
{
      if (n <= 0)
          return "";
      else if (n > String(str).length)
          return str;
      else
   {
          var iLen = String(str).length;
          return String(str).substring(iLen, iLen - n);
      }
}

function doNothing(){
}


/*******************************************************************************************/
/******* dont mess with this... ************************************************************/

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
	   req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	   
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}
function sendRequestToDiv(url,divName, postData) {

	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset:ISO-8859-1');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		
                if (req.status == 200){
                   var myDiv = document.getElementById(divName);
                   myDiv.innerHTML = req.responseText;
                }
	}
	if (req.readyState == 4) return;
	req.send(postData);
}
var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
