function IsEmpty(aTextField) {
   if ((aTextField.length==0) ||
   (aTextField==null)) {
      return true;
   }
   else { return false; }
}
function isValidEmail(str) {
   return (str.indexOf(".") > 0) && (str.indexOf("@") > 0);
}
function IsNumeric(sText) {
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
        }
     }
   return IsNumber;
}
function $(id) {
    return document.getElementById(id);
}
function ajax() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}
function checkEmail() {
	$('emailMsg').innerHTML = '<img src="images/indicator.gif">';
	email = $('email').value;
	
	var ajx = new ajax;
	ajx.open('get', 'script/ajax.php?action=checkemail&email=' + email, true);
	ajx.onreadystatechange = function() {
	   if(ajx.readyState == 4) {
			response = ajx.responseText;
			//alert(response);
			if(response == 'good') {
				$('emailCheck').value = 'good';
				$('emailMsg').innerHTML = '';
			} else {
				$('emailMsg').innerHTML = 'That email is already in use';
				$('emailCheck').value = 'bad';
			}
	   }
	}
	ajx.send(null);
}
function checkRegForm() {
	checkEmail();
	if(IsEmpty($('first').value)) {
		alert("Your first name is missing");
		$('first').focus();
		return false;
	} else if(IsEmpty($('last').value)) {
		alert("Your last name is missing");
		$('last').focus();
		return false;
	} else if(IsEmpty($('address').value)) {
		alert("Your address is missing");
		$('address').focus();
		return false;
	} else if(IsEmpty($('city').value)) {
		alert("Your city is missing");
		$('city').focus();
		return false;
	} else if($('state').selectedIndex == 0) {
		alert("Select your state");
		return false;
	} else if(IsEmpty($('zip').value)) {
		alert("Your zip code is missing");
		$('zip').focus();
		return false;
	} else if(IsEmpty($('phone').value)) {
		alert("Your phone is missing");
		$('phone').focus();
		return false;
	} else if(!isValidEmail($('email').value)) {
		alert("Enter a valid email address");
		$('email').focus();
		return false;
	} else if(IsEmpty($('password').value)) {
		alert("Enter a password");
		$('password').focus();
		return false;
	}  else if(IsEmpty($('confpassword').value)) {
		alert("Confirm your password");
		$('confpassword').focus();
		return false;
	}  else if($('password').value != $('confpassword').value) {
		alert("Your passwords don't match");
		$('password').focus();
		return false;
	} else if($('emailCheck').value != 'good' || $('emailCheck').value == 'bad') {
		alert("That email is already in use");
		$('password').focus();
		return false;
	} else {
		return true;	
	}
	
}
function pullCreatives(size) {
	if(size != '') {
		window.location = "creatives.php?size=" + size;	
	}
}
function addPlacement() {
	var is = $('addPlacement').style.display;
	if(is == 'none') {
		$('addPlacement').style.display = 'block';	
	} else {
		$('addPlacement').style.display = 'none';	
	}					
}
function checkPlacement() {
	var pStart;
	var pEnd;
	var startDates = startCal.getSelectedDates();
	if(startDates != '') {
		for (var i = 0; i < startDates.length; ++i) {
			var startdate = startDates[i];
		}
		var startMonth = startdate.getMonth() + 1;
		var startYear = startdate.getFullYear();
		var startDay = startdate.getDate();
		$('startdate').value = startYear + '-' + startMonth + '-' + startDay;
		var pStart = new Date();
		pStart.setFullYear(startYear,startMonth,startDay);
	}
	
	var endDates = endCal.getSelectedDates();
	if(endDates != '') {
		for (var i = 0; i < endDates.length; ++i) {
			var enddate = endDates[i];
		}
		var endMonth = enddate.getMonth() + 1;
		var endYear = enddate.getFullYear();
		var endDay = enddate.getDate();
		$('enddate').value = endYear + '-' + endMonth + '-' + endDay;
		var pEnd = new Date();
		pEnd.setFullYear(endYear,endMonth,endDay);
	}

	if(IsEmpty($('name').value)) {
		 alert("Please name your placement.\nie: DesNews March 2009 300x250");
		 $('name').focus();
		 return false;
	} else if($('size').selectedIndex == 0) {
		alert("Please select the placement size.");
		return false;
	} else if($('sltrib').checked != true && $('desnews').checked != true) {
		alert("You must select a valid target.\nYour target must include the Deseret News, the Salt Lake Tribune or both.");
		return false;
	} else if(IsEmpty($('impressions').value)) {
		alert("Enter the desired number of impressions for this placement.");
		$('impressions').focus();
		return false;
	} else if(!IsNumeric($('impressions').value)) {
		alert("Impressions must be a numerical value.  No commas, period, letters, etc...");
		$('impressions').focus();
		return false;
	} else if($('impressions').value > 150000) {
		alert("Impression limit is 150,000 per placement");
		$('impressions').focus();
		return false;
	} else if($('impressions').value < 1000) {
		alert("Impression minimum is 1,000 per placement");
		$('impressions').focus();
		return false;
	} else if(startDates == '') {
		alert("Select a start date for your placement");
		return false;
	} else if(endDates == '') {
		alert("Select an end date for your placement");
		return false;
	} else if(pStart > pEnd) {
		alert("Your end date can't be earlier than the start date");
		return false;
	} else {
		return true;	
	}
}
function formatCurrency(amount) {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = "";
	if(i <0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') <0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function deletePlacement(id,cid) {
	if(confirm("Are you sure you want to delete this placement")) {
		window.location = "script/functions.php?action=deleteplacement&id=" + id + "&cid=" + cid;	
	}
}	
function creativeCheck() {
	if(document.addCreative.creative.selectedIndex == 0) {
		alert("You have not selected a creative.");	
		return false;
	} else {
		return true;	
	}
}

function deleteCreative(id) {
	if(confirm("Are you sure you want to delete this creative?")) {
		window.location = "script/functions.php?action=deletecreative&id=" + id;	
	}
}
function removePlacementCreative(id) {
	if(confirm("Are you sure you want to remove this creative from the placement?")) {
		window.location = "script/functions.php?action=removeplacementcreative&id=" + id;	
	}
}
function checkCreateCampaign() {
	if(document.createCampaign.name.value == '') {
		alert("Enter a campaign name");
		document.createCampaign.name.focus();
		return false;
	} else {
		return true;	
	}
}
function activateCreative(id,pid,cid) {
	if(confirm("Are you sure you want to ACTIVATE this creative within the placement?")) {
		window.location = "script/functions.php?action=activatecreative&id=" + id + "&pid=" + pid + "&cid=" + cid;	
	}
}
function deactivateCreative(id,pid,cid) {
	if(confirm("Are you sure you want to DEACTIVATE this creative within the placement?")) {
		window.location = "script/functions.php?action=deactivatecreative&id=" + id + "&pid=" + pid + "&cid=" + cid;	
	}
}
function setPrice() {
	
	$('cost').innerHTML = '<img src="images/indicator.gif">';
	promo = $('promo').value;
	quantity = $('quantity').value;
	
	
	if(!IsNumeric(quantity)) {
		alert("You must enter a valid quantity of credits.");
		$('cost').innerHTML = 'N/A';
	} else {
	
		if(quantity < 1000) {
			alert("Minimum credits is 1000");
			$('quantity').value = 1000;
			quantity = 1000;
		}
		
		var ajx = new ajax;
		ajx.open('get', 'script/ajax.php?action=setprice&promo=' + promo + '&quantity=' + quantity);
		ajx.onreadystatechange = function() {
			if(ajx.readyState == 4) {
				//alert(ajx.responseText);
				response = ajx.responseText.split("|");
				
				switch (response[1]) {
					case "1":
						$('promoMsg').innerHTML = 'Promo Code Accepted';
					break;
					case "2":
						$('promoMsg').innerHTML = 'Promo Code Invalid';
					break;
					default:
						$('promoMsg').innerHTML = '';
					break;
				}
				
				price = formatCurrency(response[0]);
				$('cost').innerHTML = '$' + price;
				$('amount').value = price;
			}
		}
		ajx.send(null);
	}
}

function submitCredits() {
	amount = $('amount').value;
	promo = $('promo').value;
	transid = $('transaction_id').value;
	quantity = $('quantity').value;
	if(!IsNumeric(quantity)) {
		alert("You must enter a valid quantity of credits.");
	} else {
		setPrice();
		
		var ajx = new ajax;
		ajx.open('get', 'script/ajax.php?action=submitcredits&promo=' + promo + '&quantity=' + quantity + '&amount=' + amount + '&transid=' + transid, true);
		ajx.onreadystatechange = function() {
			if(ajx.readyState == 4) {
				//alert(ajx.responseText);
				if(ajx.responseText == 'good') {
					document.buyCredits.submit();
				} else {
					alert("There was an error processing your request.  Please try again.");	
				}
			}
		}
		ajx.send(null);
	}
}






