﻿function AnnouncementFormVal(formType)
{
    document.getElementById("spAddHomepageImageFeedback").style.display = "none";	
	
	var eventCategoryOptions = document.getElementById("selCategoryEventId");
	var eventCategoryId = eventCategoryOptions.options[eventCategoryOptions.selectedIndex].value;	
		
	var eventOptions = document.getElementById("selEventId");
	var eventId = eventOptions.options[eventOptions.selectedIndex].value;	
	
	var countryOptions = document.getElementsByName("countries");
	var selectedCountries = getSelectedChkBoxes(countryOptions);
	
	var regionOptions = document.getElementsByName("chkRegionId");
	var selectedRegions = getSelectedChkBoxes(regionOptions);
	
	var placementOptions = document.getElementsByName("chkBannerPlacementId");
	var selectedPlacements = getSelectedChkBoxes(placementOptions);
	
	var radGenderOptions = document.getElementsByName("radGender");
    var genderId = get_radio_value(radGenderOptions);	
		
	var bannerImageOptions = document.getElementById("selBannerImageId");
	var bannerId = bannerImageOptions.options[bannerImageOptions.selectedIndex].value;
		
	var ageMinOptions = document.getElementById("selAgeMin");
	var ageMinId = ageMinOptions.options[ageMinOptions.selectedIndex].value;

	var ageMaxOptions = document.getElementById("selAgeMax");
	var ageMaxId = ageMaxOptions.options[ageMaxOptions.selectedIndex].value;
		
	var imageLink = document.getElementById("inpIink").value;
	var announcementDesc = document.getElementById("inpAnnouncementDesc").value;
	var liveDate = document.getElementById("inpGoLiveDate").value;
    var endLiveDate = document.getElementById("inpGoLiveEndDate").value;
	
	var chkImpressions = document.getElementById("selectImpressions").checked;
	var chkClicks = document.getElementById("selectClicks").checked;
    var chkDates = document.getElementById("selectDates").checked;
	
	var noClicks = document.getElementById("inpNoClicks").value;
	var noImpressions = document.getElementById("inpNoImpressions").value;
	var hiddenCountryVals = document.getElementById("hiddenCountryVals").value;
	
	liveDate = build_correct_date_format(liveDate);
	endLiveDate = build_correct_date_format(endLiveDate);
	
	//alert(  eventCategoryId + " " + eventId + " " +  ageMinId + " " +  ageMaxId + " " +  genderId + " " +  announcementDesc  + " " + bannerId + " " + selectedPlacements.length  + " " + imageLink); // + " " +  liveDate  + " " +  endLiveDate);
	
	
	
    if ( eventCategoryId != "" && eventId != "" && ageMinId != "" && ageMaxId != "" && genderId != "" && announcementDesc != "" && bannerId != ""  && selectedPlacements.length > 0 )
    { 
		
	if ((formType == "add" && (selectedRegions.length > 0 || selectedCountries.length > 0 || hiddenCountryVals != "")) || (formType == "edit") && (   selectedRegions.length > 0 || selectedCountries.length > 0 || hiddenCountryVals != ""))
	{
		document.getElementById("spAddHomepageImageFeedback").innerHTML = "";
		
		var flagImpressions = -1;
		var flagClicks = -1;
		var flagDates = -1;
		// if an advertisement do the following form checks.
	 	if (eventCategoryId == 1) {
			if (chkImpressions == true || chkClicks == true || chkDates == true) {
						
						
						if (chkImpressions == true  ) {
							if (noImpressions != "") {
								flagImpressions = 1;
							} else 
							{
								flagImpressions = 0;
							}
						}
						
						if (chkClicks == true) {
							
							if (noClicks != "") {
								flagClicks = 1;
							} else 
							{
								flagClicks = 0;
							}				
						}
						
						if (chkDates == true ) {
							if (liveDate != "" && endLiveDate != "") {
								flagDates = checkDates(liveDate, endLiveDate);	
							}
							else 
							{
								formValidationMessages(1)
								return;
							}
						}
						
						if (flagImpressions == 0 || flagClicks == 0)
						{
							formValidationMessages(1)
						} 
							else if (flagDates == 0)
						{
							formValidationMessages(2)
							
						}
						else {
							
							 //document.forms[0].submit();
							 if (formType == "add")
							 {
								document.frmAnnouncementBoxData.submit(); 
							 }
							 else
							 {
								document.frmEditAnnouncementData.submit(); 
							 }
							 
						}
						
			
			} else 
			{
					formValidationMessages(3)
					
			}
		} 
		else
		{
			// ignore if event is birthdays or event cat is milestones.
			if ((eventId != 5) && (eventCategoryId != 4)) {	
			
			//not advertisement - dates required.
					if (liveDate != "" && endLiveDate != "") {
							flagDates = checkDates(liveDate, endLiveDate);	
							if (flagDates == 1) {
								 if (formType == "add")
									 {
										document.frmAnnouncementBoxData.submit(); 
									 }
									 else
									 {
										document.frmEditAnnouncementData.submit(); 
									 }
									 
								
							} else {
								
								formValidationMessages(2)
							}
					} 
					else
					{
						
						formValidationMessages(1)
					}
			
			} else
			{
				
				if (formType == "add")
				{
					document.frmAnnouncementBoxData.submit(); 
				}
				else
				{
					document.frmEditAnnouncementData.submit(); 
				}
									 	
				
			}
		}

    }
	 else
    
        	formValidationMessages(1);
	}
	else
	{
		formValidationMessages(1);
	}
				
}


function formValidationMessages(messageTypeId)
{
	
	if (messageTypeId == 1) {
		document.getElementById("spAddHomepageImageFeedback").innerHTML = "<br />Please fill in all fields on the form.";
		document.getElementById("spAddHomepageImageFeedback").style.display = "block";
	} 
	else if (messageTypeId == 2)
	{
	
		document.getElementById("spAddHomepageImageFeedback").innerHTML = "<br />Please ensure the Live Date is earlier than  or equal to the End Live Date.";
		document.getElementById("spAddHomepageImageFeedback").style.display = "block";
	} 
	else 
	{
		
		document.getElementById("spAddHomepageImageFeedback").innerHTML = "<br />Please choose one option from the Advertisement Campaign area.";
		document.getElementById("spAddHomepageImageFeedback").style.display = "block"; 
	}
	
	
}

function checkDates(liveDate, endLiveDate) {
	
		if (liveDate <= endLiveDate)
		{			
  			return 1;					
		}
	   else
    	{			
			return 0;
		}	   
}




function geCommaSeparatedList(opt) {
	
	  var list = "";
      for (var intLoop=0; intLoop < opt.length; intLoop++) {
         if (opt[intLoop].checked) {			
            list += opt[intLoop].value + ",";		
         }
      }
	// alert( Left(list, String(list).length - 1));
      return list;
}




function CheckAnnoucementContentDatesViable(liveDate, endLiveDate, groupID, eventCategoryID, eventID, genderID)
{
		
    var ajaxCall = new sack(); 
    var url = "ajax/admin/announcement_box_content/ajax-check-announcement-content-dates.asp?liveDate=" + liveDate + "&endLiveDate=" + endLiveDate + "&groupID=" + groupID + "&eventCategoryID=" + eventCategoryID + "&eventID=" + eventID + "&genderID=" + genderID;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() {AnnouncementContentDatesResult(ajaxCall.response); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
}


function AnnouncementContentDatesResult(content)
{
	 var announcementInfo = content.split('[]');	 
	 var cells = announcementInfo[0].split('###');
	 
	if ((cells.length > 0) && (cells[0] != ""))
	{
		alert("Advertisement content has been uploaded for these dates. Please choose alternative dates.");
	} 
	else
	{
		 document.forms[0].submit();
	}
	
}


	
function get_radio_value(radOptions)
{
	var rad_val = "";
	for (var i=0; i < radOptions.length ; i++)
	   {
	   if (radOptions[i].checked)
		  {
			rad_val = radOptions[i].value;
		  }
	   }
	   return rad_val;
}


function build_correct_date_format(newDate)
{		
	if (newDate.indexOf("/") > -1)
    {
        var tempDate = newDate.substring(6, 10) + "-" + newDate.substring(3, 5) + "-" + newDate.substring(0, 2);
        newDate = tempDate;
    }
	return newDate;
}


function add_gallery_image()
{
	

	var imageTypeId = 1;
	
	var image = document.getElementById("inpImage").value;
	var imageDescription = document.getElementById("inpDescription").value;
	
	if (imageTypeId != "" && image != "" && imageDescription != "") 
	{
		CheckImageDescriptionAvailable(imageDescription) ;
		
	} else
	{
		
		document.getElementById("spAddGalleryImageFeedback").innerHTML = "<br />Please fill in all fields on the form.";
		document.getElementById("spAddGalleryImageFeedback").style.display = "block";
		
	}
	
}



function CheckImageDescriptionAvailable(imageDescription)
{
		
    var ajaxCall = new sack(); 
    var url = "ajax/admin/announcement_box_content/ajax-check-image-description-available.asp?imageDescription=" + imageDescription;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() {ImageDescriptionAvailableResult(ajaxCall.response); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
}



function ImageDescriptionAvailableResult(content)
{
	var imageDescriptionInfo = content.split('[]');	 
	var cells = imageDescriptionInfo[0].split('###');
	 
	if ((cells.length > 0) && (cells[0] != ""))
	{
		alert("Your chosen description has already been linked with a previous image. Please choose an alternative description.");
	} 
	else
	{
		 document.frmAddGalleryImage.submit();
	}
	
}



function DisplayGalleryImage(imageId)
{
    
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-gallery-image.asp?imageId=" + imageId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { RetrieveGalleryImage(ajaxCall.response); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}


function RetrieveGalleryImage (content)
{
	
	 var imageInfo = content.split('[]');	 
	 var cells = imageInfo[0].split('###');
	 
	if ((cells.length > 0) && (cells[0] != ""))
	{
		var galleryImageId = cells[0];
		var galleryImage = cells[1];
		var galleryImageDescription = cells[2];
		var galleryImageType = cells[3];
		
		var newContent = ""
		if (galleryImageType == 1)
		{
			
			newContent = "<br/><table><tr><td><img width=\"40%\" src=\"images/announcement-content/announcement_banners/" + galleryImage + "\" alt=\"" + galleryImageDescription + "\" /> </td></tr></table><br/>";
			document.getElementById("divDisplayBannerImage").innerHTML = newContent;
			document.getElementById("divDisplayBannerImage").style.display = "block";	
		} else
		{
			newContent = "<br/><table><tr><td><img width=\"85%\" src=\"images/announcement-content/announcement_buttons/" + galleryImage + "\" alt=\"" + galleryImageDescription + "\" /> </td></tr></table><br/>";
			document.getElementById("divDisplayButtonImage").innerHTML = newContent;
			document.getElementById("divDisplayButtonImage").style.display = "block";	
			
		}
	}	
	
}


function PopulateEventDropDown(categoryEventId, divHolder, widthSel, currentInfo)
{
	
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-events.asp?categoryEventId=" + categoryEventId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayEventDropDown(ajaxCall.response, divHolder, widthSel, currentInfo); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}


function DisplayEventDropDown(content, divHolder, widthSel, currentInfo)
{
	
	 var eventInfo = content.split('[]');	 	
	 var newContent = ""
	 
	 var descriptionDivHolder = "divAnnouncementDescList_";	 
	 descriptionDivHolder = descriptionDivHolder + divHolder.substring(divHolder.indexOf('_') + 1, divHolder.length);
	 var divHolderNo =  divHolder.substring(divHolder.indexOf('_') + 1, divHolder.length);
	
	if (divHolderNo == "divDisplayEventId")
	{
	newContent = "<select id=\"selEventId\" name=\"selEventId\" style=\"width:" + widthSel + "px\" onChange=\"ChkDisplayDates(this.value);\"><option></option>"; 
	}
	else
	{
		newContent = "<select id=\"selEventId_" + divHolderNo + "\" name=\"selEventId\" style=\"width:" + widthSel + "px\" onChange=\"PopulateDescriptionDropDown( '" + descriptionDivHolder + "','" + divHolderNo + "', '')\"><option></option>"; 
	
		
	}
	if ((eventInfo.length > 0) && (eventInfo[0] != ""))
	{
		
		for (var i=0; i < eventInfo.length - 1; i++)
  		 {
			var cells = eventInfo[i].split('###');
			var eventId = cells[0];
			var event = cells[1];

			if ((currentInfo.length > 0) && (currentInfo[0] != ""))		
			{
				var selected = checkOptionSelected(divHolderNo, currentInfo, eventId, 3);	
			}
		
			newContent = newContent + "<option value=\"" + eventId + "\"" + selected + ">" + event + "</option>";		
						
		 }

	}	
	 newContent = newContent + "</select>";	 
	 
	 document.getElementById(divHolder).innerHTML = newContent;
	
}




function PopulateEventCatDropDown(divHolder, currentAnnouncementInfo)
{
    
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-events-categories.asp";
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayEventCatDropDown(divHolder, ajaxCall.response, currentAnnouncementInfo); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); };
	ajaxCall.runAJAX();
	
}


function DisplayEventCatDropDown(divHolder, content, currentInfo)
{
	var newContent = "";
	var eventInfo = content.split('[]');	 
    var eventDivHolder = "divEventList_";	 
	eventDivHolder = eventDivHolder + divHolder.substring(divHolder.indexOf('_') + 1, divHolder.length);
	var divHolderNo =  divHolder.substring(divHolder.indexOf('_') + 1, divHolder.length); 
	
	newContent = newContent + "<select id=\"selEventCatId_" + divHolderNo + "\" name=\"selEventCatId\" style=\"width:80px\" onChange=\"PopulateEventDropDown(this.value, '" + eventDivHolder + "', '90', '')\"><option></option>"; 
	 
	
	if ((eventInfo.length > 0) && (eventInfo[0] != ""))
	{
		for (var i=0; i < eventInfo.length - 1; i++)
  		 {
			var cells = eventInfo[i].split('###');
			var eventCatId = cells[0];
			var eventCat = cells[1];					
			var selected = checkOptionSelected(divHolderNo, currentInfo, eventCatId, 2);					
			newContent = newContent + "<option value=\"" + eventCatId + "\"" + selected + ">" + eventCat + "</option>";				
		 }
	}	
	 newContent = newContent + "</select>";	 	
	 document.getElementById(divHolder).innerHTML = newContent;


}


function GetAnnouncementImages(divHolder, announcementId) {
	
	   
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-admin-announcement-box-images.asp?announcementId=" + announcementId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayAnnouncementImages(ajaxCall.response, divHolder); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}



function DisplayAnnouncementImages(content, divHolder) {
	
		
	 var imageInfo = content.split('[]');	 
	 var cells = imageInfo[0].split('###');
	 
	 var galleryImageDescription = "test";
	 
	if ((cells.length > 0) && (cells[0] != ""))
	{
		var bannerImage = cells[0];
		var buttonImage = cells[1];
		var link = cells[2];
		
		var newContent = ""
		
		newContent = "<br/><table border='0' width='60%'><tr><td width='30%'><img width=\"95%\" src=\"images/announcement-content/announcement_banners/" + bannerImage + "\" alt=\"" + galleryImageDescription + "\" /> </td><td width='1%'></td><td width='30%'><img width=\"70%\" src=\"images/announcement-content/announcement_buttons/" + buttonImage + "\" alt=\"" + galleryImageDescription + "\" /> </td></tr></table><br/>";
		
		
		document.getElementById(divHolder).innerHTML = newContent;	
		document.getElementById(divHolder).style.display = "";
	}
	
	
}



function GetAnnouncementBox()
{	
	   
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-box-images.asp";
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayAnnouncementBox(ajaxCall.response); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}




function checkOptionSelected(divHolderNo, currentInfo, optionId, cellPosition)
{
	
	var selected = "";
		
	if (currentInfo != "") {
		divHolderNo = (parseInt(divHolderNo) + 1);
		for (var j=0; j < currentInfo.length - 1; j++)
		 {		
			var currentCells = currentInfo[j].split('###');	
			var currentId = currentCells[cellPosition];
			if (divHolderNo  == currentCells[1]) {	
				if (optionId == currentId) {				
					 selected = "selected";
					 break;
				}	
			}
		}	
	}
	return selected;
}





function displayDates()
{
	
	if (document.getElementById("selectDates").checked) 
	{
		document.getElementById("showDates").style.display = "block";
	}
	else {
		document.getElementById("showDates").style.display = "none";
	}
	
}


function displayImpressions()
{
	if (document.getElementById("selectImpressions").checked) 
	{
		document.getElementById("showImpressions").style.display = "block";
		
	}
	else {
		document.getElementById("showImpressions").style.display = "none";
	}
	
}


function displayClicks()
{
	if (document.getElementById("selectClicks").checked) 
	{
		document.getElementById("showClicks").style.display = "block";
	}
		else
	{
		document.getElementById("showClicks").style.display = "none";
	}
	
}


function displayEditAnnouncementForm()
{
		
	 document.frmEditDisplayForm.submit();
	
}





function updateImpressionTracker()
{
	
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-update-impression-tracker.asp?announcementId=" + announcementId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() {  };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); };
	ajaxCall.runAJAX();	
	
}

function updateClickTracker(announcementId)
{
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-update-click-tracker.asp?announcementId=" + announcementId + "&userId=" + currentUserId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() {  };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); };
	ajaxCall.runAJAX();
	
}

function DisplayAdvertisingCampaignArea(eventCatId)
{	
	//advertisements
	if (eventCatId == 1) {
		
		document.getElementById("divHR").style.display = "block";
		document.getElementById("divAnnouncementTitle").innerHTML = "Campaign";
		document.getElementById("showClickAndImpressionArea").style.display = "block";
		document.getElementById("showDates").style.display = "none";
		
		document.getElementById("showImpressions").style.display = "none";
		document.getElementById("showClicks").style.display = "none";
		
		document.getElementById("selectImpressions").checked = "";
		document.getElementById("selectClicks").checked = "";
		document.getElementById("selectDates").checked = "";
		
	}
	else
	{
		document.getElementById("divHR").style.display = "block";
		document.getElementById("divAnnouncementTitle").innerHTML = "Advertisement Duration";
		document.getElementById("showClickAndImpressionArea").style.display = "none";
		document.getElementById("showDates").style.display = "block";
	}
}


function DisplayAdvertisingTimeLineOptions(eventCatId)
{
	if (eventCatId == 1 || eventCatId == "") {
		
		document.getElementById("divHR").style.display = "block";
		document.getElementById("divAnnouncementTitle").innerHTML = "Choose Advertisement Criteria";
		document.getElementById("showClickAndImpressionArea").style.display = "block";
		document.getElementById("showDates").style.display = "none";
		
		//document.getElementById("showImpressions").style.display = "none";
		//document.getElementById("showClicks").style.display = "none";
		
		document.getElementById("selectImpressions").checked = "";
		document.getElementById("selectClicks").checked = "";
		document.getElementById("selectDates").checked = "";
		
	} else
	{
		document.getElementById("divHR").style.display = "block";
		document.getElementById("divAnnouncementTitle").innerHTML = "Choose Advertisement Duration";
		document.getElementById("showClickAndImpressionArea").style.display = "none";
		document.getElementById("showDates").style.display = "block";
		document.getElementById("inpGoLiveDate").value = "";
		document.getElementById("inpGoLiveEndDate").value = "";
		
	}
	
	
}



function ChkDisplayDates(eventId)
{
	// Hide if event is Birthdays or milestone events
	if ((eventId == 5) || (eventId >= 7 && eventId <= 10)) {
		document.getElementById("divHR").style.display = "none";
		document.getElementById("divAnnouncementTitle").innerHTML = "";
		document.getElementById("showClickAndImpressionArea").style.display = "none";
		document.getElementById("showDates").style.display = "none";
	}
	
}



// not used any longer
function PopulatePlacementImageList(placementId)
{
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-placement-images.asp?placementId=" & placementId;
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayPlacementImageList(ajaxCall.response); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}


function editAnnouncementBoxFormOnload(announcementID) {
	
	if (announcementID != "") {
		var eventCategoryOptions = document.getElementById("selCategoryEventId");
		var eventCategoryId = eventCategoryOptions.options[eventCategoryOptions.selectedIndex].value;
		
		var eventOptions = document.getElementById("selEventId");
		var eventId = eventOptions.options[eventOptions.selectedIndex].value;	
		
		
		if (eventCategoryId == 1)
		{
			document.getElementById("divHR").style.display = "block";
			document.getElementById("divAnnouncementTitle").innerHTML = "Campaign";
			document.getElementById("showClickAndImpressionArea").style.display = "block";
			
			displayImpressions();
			displayClicks();
			displayDates();
			
		} else {
			
			if (eventId != 5 && eventCategoryId != 4) {
				document.getElementById("divHR").style.display = "block";
				document.getElementById("divAnnouncementTitle").innerHTML = "Advertisement Duration <br/>";
			}
			displayDates();
		}
	}
}


function AnnouncementTimeLineForm()
{
		
	var eventCategoryOptions = document.getElementById("selCategoryEventId");
	var eventCategoryId = eventCategoryOptions.options[eventCategoryOptions.selectedIndex].value;	
		
	var eventOptions = document.getElementById("selEventId");
	var eventId = eventOptions.options[eventOptions.selectedIndex].value;	
	
	var hiddenCountryVals = document.getElementById("hiddenCountryVals").value;
	
	var regionOptions = document.getElementsByName("chkRegionId");
	var selectedRegions = geCommaSeparatedList(regionOptions);
	
	var placementOptions = document.getElementsByName("chkBannerPlacementId");
	var selectedPlacements = geCommaSeparatedList(placementOptions);
	
	var radGenderOptions = document.getElementsByName("radGender");
    var genderId = get_radio_value(radGenderOptions);	
		
	var ageMinOptions = document.getElementById("selAgeMin");
	var ageMinId = ageMinOptions.options[ageMinOptions.selectedIndex].value;

	var ageMaxOptions = document.getElementById("selAgeMax");
	var ageMaxId = ageMaxOptions.options[ageMaxOptions.selectedIndex].value;
		
	var liveDate = document.getElementById("inpGoLiveDate").value;
    var endLiveDate = document.getElementById("inpGoLiveEndDate").value;
	
	var chkImpressions = document.getElementById("selectImpressions").checked;
	var chkClicks = document.getElementById("selectClicks").checked;
    var chkDates = document.getElementById("selectDates").checked;
	
	var radOrderBy = document.getElementsByName("radOrderBy");
    var strOrderBy = get_radio_value(radOrderBy);	
	if (strOrderBy == "") { strOrderBy = "live date"};
	var sqlOrderBy = getOrderByValSQL(strOrderBy); 
	
	liveDate = build_correct_date_format(liveDate);
	endLiveDate = build_correct_date_format(endLiveDate);
	
	var radOrderAscDesc = document.getElementsByName("radOrderAscDesc");
	var ascDescVal = get_radio_value(radOrderAscDesc);	
	
	//alert(hiddenCountryVals);
	 
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-timeline-data.asp?eventCatId=" + eventCategoryId + "&eventId=" + eventId + "&bannerPlacementIds=" + selectedPlacements + "&hiddenCountryVals=" + hiddenCountryVals + "&regionIds=" + selectedRegions + "&minAge=" + ageMinId + "&maxAge=" + ageMaxId + "&dateStart=" + liveDate + "&dateStop=" + endLiveDate + "&impressions=" + chkImpressions + "&clicks=" + chkClicks + "&chkDates=" + chkDates + "&genderId=" + genderId +  "&radOrderBy=" + sqlOrderBy + "&radOrderAscDesc=" + ascDescVal ;
	
	//alert(url);
	
	ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayTimeLineResults(ajaxCall.response, strOrderBy); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}
	

function DisplayTimeLineResults(content, strOrderBy) {	

	//alert(content);
	
	var timeLineContent = content.split('[]');

	var newContent;
	newContent = ""
	newContent +=  "<b> Ordered by " + strOrderBy + "</b>";
	if ((timeLineContent.length > 0) && (timeLineContent[0] != ""))
	{
		
		var announcementIdCounter = "";
		var orderFlag = "";
		for (var i=0; i < timeLineContent.length - 1; i++)
  		 {
			var cells = timeLineContent[i].split('###');
			var announcementID = cells[0];
			var eventCategory = cells[1];
			var image = cells[2];
			var event = cells[3];
			var genderID = cells[4];
			var minAge = cells[5];
			var maxAge = cells[6];
			var announcementDescription = cells[7];
			var noOfImpressions = cells[8];
			var noOfClicks = cells[9];
			var goLiveDate = cells[10];
			var goLiveEndDate = cells[11];
			var goLiveDateTime = cells[12];
			var goLiveEndDateTime = cells[13];
			var orderByVal = cells[14];
			var eventDesc = cells[15];
			
			if (minAge == 0) { minAge = "Any"};
			if (maxAge == 0) { maxAge = "Any"};
			
			if (announcementIdCounter != announcementID) 
			{		
				
				gender = getGender(genderID);
			 
				
				newContent += "<div id='divHeading_" + announcementID  + "'> </div> ";
				newContent += "<div  style='padding:10px 10px 10px 10px;'>";
				newContent += "<table width='90%'  cellpadding='0' cellspacing='0' >";
				newContent += "<tr>";
		
				newContent += "<td width=\"30%\" valign='top'><img src='images/announcement-content/announcement_banners/" + image + "' border=\"0\" width=\"90%\" style=\"margin-right:10px\" /></td><td width='40%' valign='top' > <table width='100%' cellspacing='1' cellpadding='2'>";
				  
				newContent += "<tr><td><b>Event Desc:</b></td><td> &nbsp;<b> " + announcementDescription + "</b></td></tr>";
				newContent += "<tr><td width='60'>Dates:</td><td> " + goLiveDate + " - " + goLiveEndDate + "</td></tr>";
				newContent += "<tr><td>Impressions:</td><td>" + noOfImpressions + "</td></tr>";				
				newContent += "<tr><td>Clicks:</td><td> " + noOfClicks + "</td></tr>";
				newContent += "<tr><td>Cat Event:</td><td> " + eventCategory + "</td></tr>";
				newContent += "<tr><td>Event: </td><td>" + event + "</td></tr>";
				newContent += "<tr><td>Gender:</td><td> " + gender + "</td></tr>";
				newContent += "<tr><td>Age Ranges:</td><td> " + minAge + " - " + maxAge + "</td></tr></table>";
				
				
				newContent += "</td><td width='30%'>";
				newContent += "<div id='divBannerPlacements" + announcementID  + "'> </div>";
				newContent += "<div id='divCountries_" + announcementID  + "'>  </div>";
				newContent += "</td>";
	   
				newContent += "</tr></table></div><hr>";
				
				document.getElementById("divAnnouncementTimeLineResults").innerHTML = newContent;
				PopulateTimeLineCountries(announcementID, "divCountries_" + announcementID);
				PopulateTimeLinePlacements(announcementID, "divBannerPlacements" + announcementID);
				
				var orderByValHeading = getOrderByValHeading(strOrderBy, eventCategory, event, genderID, noOfImpressions, noOfClicks, goLiveDate, goLiveEndDate);
				
				
				var divHolder = "";
				if (orderByValHeading != orderFlag) {
					
					DisplayTimeLineHeadings(strOrderBy, orderByValHeading, "divHeading_" + announcementID);
				
					
				}
				
				orderFlag = orderByValHeading;
				announcementIdCounter = announcementID;
				
			}
		 }
	}
	
	
	if ( timeLineContent.length == 1)
	{
		
		document.getElementById("divAnnouncementTimeLineResults").innerHTML = "No announcements meet this criteria.";
			
	}
	
		
}


function getGender(genderID) {
	
	var gender = "";
	switch (genderID) {
	case '0': gender = 'Both'; break;
	case '1': gender = 'Male'; break;
	case '2': gender = 'Female'; break;
	default: gender = 'unknown';
	}

	return gender;		
	
}




function getOrderByValSQL(orderByVal) {
	
	switch (orderByVal) {
	case 'event category': orderByValSql = 'ec.eventCategory'; break;	
	case 'event': orderByValSql = 'ae.event'; break;
	case 'gender': orderByValSql = 'b.fkGenderID'; break;
	case 'impressions': orderByValSql = 'b.noOfImpressions'; break;
	case 'clicks': orderByValSql = 'b.noOfClicks'; break;
	case 'live date': orderByValSql = 'b.goLiveDate'; break;
	case 'end live date': orderByValSql = 'b.goLiveEndDate'; break;
	default: orderByValSql = 'b.goLiveDate desc';
	}

	return orderByValSql;		
	
}


function getOrderByValHeading(orderByVal,eventCategory, event,genderID,impressions, clicks, liveDate, endDate) {
	
	switch (orderByVal) {
	case 'event category': orderByValHeading = eventCategory; break;	
	case 'event': orderByValHeading = event; break;
	case 'gender': orderByValHeading = genderID; break;
	case 'impressions': orderByValHeading = impressions; break;
	case 'clicks': orderByValHeading = clicks; break;
	case 'live date': orderByValHeading = liveDate; break;
	case 'end live date': orderByValHeading = endDate; break;
	default: orderByValHeading = liveDate;
	}

	return orderByValHeading;		
	
}




function PopulateTimeLineCountries(announcementId, divHolder) {
	
	
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-timeline-countries.asp?announcementId=" + announcementId;
	
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayTimeLineCountries(ajaxCall.response, divHolder); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}



function DisplayTimeLineCountries(content, divHolder) {
	
	 var newContent = "";
	 var countryName = "";
	 var spacing = "";
	 var countriesInfo = content.split('[]');	 
	
	 
	 newContent = "<br/><table border='0'><tr><td>Countries: &nbsp;</td><td></td></tr>" 
	 
	for (var j=0; j < countriesInfo.length - 1; j++)
	 {		
		var cells = countriesInfo[j].split('###');
		var countryId = cells[0];
		countryName = cells[1];	
		var regionId = cells[2];	
		
		if (countryId == 0) {
			switch (regionId) {
			case '1': countryName = 'All Countries'; break;
			case '2': countryName = 'UK'; break;
			case '3': countryName = 'US'; break;
			case '4': countryName = 'Europe'; break;
			case '5': countryName = 'Rest of World'; break;
			}
		} else {
			
			spacing = "&nbsp;&nbsp;&nbsp;&nbsp;";
			
		}
		
		newContent +=  "<tr><td></td><td>" + spacing + countryName + " </td></tr>";
	
		spacing = "";
	}
	
	
	newContent +=  "</table><br/>";
	
	document.getElementById(divHolder).innerHTML = newContent;	
}


function PopulateTimeLinePlacements(announcementId, divHolder) {
	
	
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-timeline-placements.asp?announcementId=" + announcementId;
	
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayTimeLinePlacements(ajaxCall.response, divHolder); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}



function DisplayTimeLinePlacements(content, divHolder) {
	
	 var newContent = "";
	 var placementName = "";
	 var placementsInfo = content.split('[]');	 
	 
	 newContent = "<table border='0'><tr><td>Placements:</td><td></td></tr>" 
	 
		 
	for (var j=0; j < placementsInfo.length - 1; j++)
	 {		
		var cells = placementsInfo[j].split('###');
		var placementId = cells[0];
		placementName = cells[1];	
		
		newContent +=  "<tr><td></td><td>" + placementName + " </td></tr>";
	}
	
	
	newContent +=  "</table><br/>";
	
	document.getElementById(divHolder).innerHTML = newContent;	
}


function DisplayTimeLineHeadings(strOrderBy, heading, divHolder) {
	
	document.getElementById(divHolder).innerHTML = "" ;//"<b> " + strOrderBy + ": " + heading +  "</b>";

}


function PopulateAllCountries(announcementID)
{
	
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-all-countries.asp";
	
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { if (announcementID == 0) { DisplayAllCountries(ajaxCall.response, '', 0);} else { RetrieveAllSelectedCountries(ajaxCall.response, announcementID); } };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}


function RetrieveCountryList(regionId)
{
	
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-region-country-list.asp";
	ajaxCall.setVar("regionId", regionId);
	
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { DisplayCountries(ajaxCall.response, selectedCountriesList, 0, regionId); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}


function getSelectedChkBoxes(opt) {
		
      var selected = new Array();
      var index = 0;
      for (var intLoop=0; intLoop < opt.length; intLoop++) {
         if (opt[intLoop].checked) {	
		
            index = selected.length;		
            selected[index] = new Object;           
            selected[index].index = intLoop;
			selected[index].value = opt[intLoop].value;
			
         }
      }
      return selected;
}


function DisplayCountries (content, selectedCountries, announcementID, regionId) {
	
	var hideCountries = document.getElementById("hideCountries").value;
	var countryRegionId = document.getElementById("countryRegionId").value;
	
	
	
	if (hideCountries == 0 || countryRegionId != regionId ) {
			var checked = "";
			var newContent = "";
			var count = 0;
			 
			
			var xmlDoc = ReturnXmlDoc(content.replace(/--/g, '"'));
			var rows = xmlDoc.getElementsByTagName("Countries");
			var xmlDocSelectedCountries = ReturnXmlDoc(selectedCountries.replace(/--/g, '"'));
			var selectedCountryRows = xmlDocSelectedCountries.getElementsByTagName("SelectedCountries");
			//alert(selectedCountries) ;
			
			if (rows.length > 0)
			{	
				
			  newContent += "<ul style='width:560px; position:relative; float:left; padding-bottom:30px;'>"
				 
			
			  for (rowPos = 0; rowPos < rows.length; rowPos++)
				{	
					
					var countryId = ReturnXmlNode(rows[rowPos], "CountryId", 0, 1);
					var countryName = unescape(ReturnXmlNode(rows[rowPos], "CountryName", 0, 1));
					
					if (selectedCountryRows.length > 0) 
					{			
					   for (rowPos1 = 0; rowPos1 < selectedCountryRows.length; rowPos1++)
						 {	
						
							var selCountryId =  ReturnXmlNode(selectedCountryRows[rowPos1], "CountryId", 0, 1);
							
							if (parseInt(selCountryId.substring(2)) == parseInt(countryId)) {
								checked = "checked='checked'";	
							}
							
						}	
					}
					
													
					newContent += " <li style='width:90px;height:25px;position:relative; float:left; margin-bottom:20px;'><div> <input type='checkbox' name='countries_" + regionId + "' id='countries_" + regionId + "' value='" + regionId + "_" + countryId + "' " +  checked  + " onClick=\"updateCheckedValue('')\";/> &nbsp; " + countryName + " &nbsp;</div></li> ";
					
					checked = ""
				
			}
			newContent += "</ul>";
			
			
			document.getElementById("divDisplayAllCountries").innerHTML = newContent;	
			//updateCheckedValue();
			
			}
			
			document.getElementById("hideCountries").value = 1;
			document.getElementById("countryRegionId").value = regionId;
	} else 
		 {
		
			document.getElementById("hideCountries").value = 0;
			document.getElementById("divDisplayAllCountries").innerHTML = "";
		
	}
	
}






function RetrieveAllSelectedCountries(announcementId)
{
	
	var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-selected-countries.asp";
	ajaxCall.setVar("announcementId", announcementId);
	
    ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { PopulateEditCountryValues(ajaxCall.response, announcementId); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
}


function PopulateEditCountryValues(content, announcementId) {
	

	var xmlDoc = ReturnXmlDoc(content);
    var rows = xmlDoc.getElementsByTagName("Countries");
	
	
	selectedCountriesList = "";
	var hiddenCountryVals = "";
	selectedCountriesList += "<?xml version=--1.0-- encoding=--ISO-8859-1-- ?>"
	selectedCountriesList += "<CTASelectedCountries>"
  
    for (rowPos = 0; rowPos < rows.length; rowPos++) {
	
   			var countryId = ReturnXmlNode(rows[rowPos], "CountryId", 0, 1);
			var regionId = ReturnXmlNode(rows[rowPos], "RegionId", 0, 1);
			
			
			
			if (countryId != 0) {
				selectedCountriesList +=  "<SelectedCountries><CountryId>" + regionId + "_" + countryId + "</CountryId></SelectedCountries>";	
				hiddenCountryVals += regionId + "_" + countryId + ",";		
			
				if (regionId == 2) {
					UKSelectedCountries[UKSelectedCountries.length] = regionId + "_" + countryId;		
				} else if (regionId == 3) {
					USSelectedCountries[USSelectedCountries.length] = regionId + "_" + countryId;
				} else if (regionId == 4) {
					EuropeSelectedCountries[EuropeSelectedCountries.length] = regionId + "_" + countryId;
				} else if (regionId == 5) {
					RestOfWorldCountries[RestOfWorldCountries.length] = regionId + "_" + countryId;
				}
			}
    }
	  
	  
	selectedCountriesList += "</CTASelectedCountries>"
	
	document.getElementById("hiddenCountryVals").value = hiddenCountryVals;
		
}

var selectedCountriesList = "";
var UKSelectedCountries = new Array();
var USSelectedCountries = new Array();
var EuropeSelectedCountries = new Array();
var RestOfWorldCountries = new Array();
function updateCheckedValue(regionSelection) {
	
	
		
	var regionId = document.getElementById("countryRegionId").value; 
	
	if (regionId == 2) {
		var UKOptions = document.getElementsByName("countries_2");
		UKSelectedCountries = getSelectedChkBoxes(UKOptions);
	} else if (regionId == 3) {
		var USOptions = document.getElementsByName("countries_3");
		USSelectedCountries = getSelectedChkBoxes(USOptions);
	} else if (regionId == 4) {
		var EuropeOptions = document.getElementsByName("countries_4");
		 EuropeSelectedCountries = getSelectedChkBoxes(EuropeOptions);
	} else if (regionId == 5) {
		var RestOfWorldOptions = document.getElementsByName("countries_5");
		RestOfWorldCountries = getSelectedChkBoxes(RestOfWorldOptions);
	}
	
	
	if (regionSelection != "") {
		if ( document.getElementById("chkRegionId_" + regionSelection).checked == false) {
			if (regionSelection == 2) {
			UKSelectedCountries.length = 0;
			} else if (regionSelection == 3) {
			USSelectedCountries.length = 0;
			} else if (regionSelection == 4) {
			 EuropeSelectedCountries.length = 0;
			} else if (regionSelection == 5) {
			RestOfWorldCountries.length = 0;
			}
	   } 
		
	} else {
		   document.getElementById("chkRegionId_" + regionId).checked = true;
	  }
	
	var selectedCountriesCk = UKSelectedCountries.concat(USSelectedCountries, EuropeSelectedCountries, RestOfWorldCountries) ; 
	 
	selectedCountriesList = "";
	var hiddenCountryVals = "";
	selectedCountriesList += "<?xml version=--1.0-- encoding=--ISO-8859-1-- ?>"
	selectedCountriesList += "<CTASelectedCountries>"
  // alert(selectedCountriesCk.length);
    var selectedCountry; 
   for (var intLoop=0; intLoop < selectedCountriesCk.length; intLoop++) {
			
		
			if (selectedCountriesCk[intLoop].value == undefined) {
				selectedCountry = selectedCountriesCk[intLoop];
   			}
			else {
				
				selectedCountry = selectedCountriesCk[intLoop].value;
			}
		
			  selectedCountriesList +=  "<SelectedCountries><CountryId>" + selectedCountry + "</CountryId></SelectedCountries>";	
			  hiddenCountryVals += selectedCountry + ",";
			 
    }
	  
	selectedCountriesList += "</CTASelectedCountries>"
	
	document.getElementById("hiddenCountryVals").value = hiddenCountryVals;

	  
}




<!--
/* Banner Up! - Copyright 1999-2000 By Heidi Allen 
Knowledge Hound: The How-To Hunter - Learn how to do almost anything...for free!
Please visit us at http://www.knowledgehound.com
License for use of this script is granted if and only if
this entire copyright notice is included with it. We do not provide
support for this script. It is provided solely as a friendly gesture.
Use at your own risk. Thanks! */
// Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/

var impressionsTrackingFlag =1;

function cycle(bannerCycleContent, bannerCount) {	
	
  bannerCycleInfo = bannerCycleContent.split('[]');	 

	if (++bannerCount > bannerCycleInfo.length - 1) bannerCount=1;
 
	var cells = bannerCycleInfo[bannerCount - 1].split('###');
	var link = cells[0];
	var bannerImage = cells[1];	
	var announcementId = cells[2];
	var bannerLocationId = cells[3];
	var eventCategoryId = cells[4];
	
	if (impressionsTrackingFlag == 0) {
		updateImpressionTracker(announcementId);
	}
	displayImage(announcementId, bannerImage, link, bannerLocationId, eventCategoryId);

	// if one banner only - no need to cycle.
	if (bannerCycleInfo.length - 1 > 1) {
   		 window.setTimeout('cycle(\'' + bannerCycleContent + '\',' + bannerCount + ');',5000);
	}
 }
  
  
//-->


function displayImage(announcementId, bannerImage, link, bannerLocationId, eventCategoryId)
{
	var newContent = ""
	var target = "";
	
	if (eventCategoryId != 5) {
		target = "target='_blank'";
	}
	
	
	if (link != "") {
		newContent = "<a href='" + link + "' " +  target + "><img  src='images/announcement-content/announcement_banners/" + bannerImage + "'  onClick='updateClickTracker(" + announcementId + ")'/></a>";	
		newContent = newContent +"";
	} else {
		
		newContent = "<img src='images/announcement-content/announcement_banners/" + bannerImage + "'  onClick='updateClickTracker(" + announcementId + ")'/>"
		
	}
	
	var displayObj = document.getElementById("divDisplayBanner_Location" + bannerLocationId);
	if (displayObj != null)
	    displayObj.innerHTML = newContent;
}



function getMarketplaceCycleBanners(bannerPlacementId, genderId, categoryId, subcategoryId)
{
	
	var clientDate = "";
	var clientTime = "";
	clientDate = getClientSideDate("date");
	clientTime = getClientSideDate("time");	

	
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-cycle-banners-mp.asp?genderId=" + genderId + "&userId=" + currentUserId  + "&sysTime=" + clientTime + "&sysDate=" + clientDate + "&bannerPlacementId=" + bannerPlacementId + "&categoryId=" + categoryId + "&subcategoryId=" + subcategoryId;

	ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { cycle(ajaxCall.response, 0); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}



function getCycleBanners(bannerPlacementId, genderId)
{
	
	var clientDate = "";
	var clientTime = "";
	clientDate = getClientSideDate("date");
	clientTime = getClientSideDate("time");	

	
    var ajaxCall = new sack();
    var url = "ajax/admin/announcement_box_content/ajax-get-announcement-cycle-banners.asp?genderId=" + genderId + "&userId=" + currentUserId  + "&sysTime=" + clientTime + "&sysDate=" + clientDate + "&bannerPlacementId=" + bannerPlacementId;

	ajaxCall.requestFile = url;
    ajaxCall.onCompletion = function() { cycle(ajaxCall.response, 0); };
    ajaxCall.onError = function() { HandleAjaxError(ajaxCall.response, ajaxCall.responseStatus); }; ajaxCall.runAJAX();
	
	
}


function getClientSideDate(dateTimeFlag)
{

	var dt = new Date();
	var h =dt.getHours();
	var m =dt.getMinutes();
	var s =dt.getSeconds();
	var time = h+":"+m+":"+s;
	
	var day = dt.getDate();
	if (day < 10) { day = "0" + day;};
	var month = (dt.getMonth() + 1);
	if (month < 10) { month = "0" + month;};
	
	var clientDate =day + "/"+ month +"/" +dt.getFullYear();

	if (dateTimeFlag == "date") {
	  return clientDate
	} 
	else
	{
	  return time
	}

}