// Hillgirlz form processing Javascript
var sortby = 'category';
var where = '';
var wawsort = '';
var wawasc = true;
var filter = '';
var insort = 'createddate';

function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
}

function clearerr()
{
	var labels = document.getElementsByTagName("label");
	for (i=0;i<labels.length;i++)
		labels[i].style.color = "black";
}

function seterr(elemname)
{
	var labels = document.getElementsByTagName("label");
	for (i=0;i<labels.length;i++)
	{
		if (labels[i].htmlFor == elemname)
			labels[i].style.color = "red";
	}
}

function delsure()
{
	if (confirm("Delete this category, are you sure?"))
		return true;
	else
		return false;
}

function verifyacc()
{
	closeKeepAlive();
	var f = document.getElementById("accform");
	var err = "";
	clearerr();
	
	if (f.title.value == "")
	{
		seterr("title");
		err += "Title is a required field.\r\n";
	}
	
	if (f.url.value == "")
	{
		seterr("url");
		err += "Website link is a required field.\r\n";
	}
	
	if (f.email.value == "")
	{
		seterr("email");
		err += "Contact email address is a required field.\r\n";
	}
	
	if (f.location.value == "")
	{
		seterr("location");
		err += "Location is a required field.\r\n";
	}
	
	if (f.description.value == "")
	{
		seterr("description");
		err += "A description is required.\r\n";
	}
	
	if (err == "")
		return true;
	else
	{
		alert("There are errors in your accommodation submission:\r\n\r\n" + err);
		return false;
	}
}

function verifytravel()
{
	closeKeepAlive();
	var f = document.getElementById("travelform");
	var err = "";
	clearerr();
	
	if (f.title.value == "")
	{
		seterr("title");
		err += "Title is a required field.\r\n";
	}
	
	if (f.url.value == "")
	{
		seterr("url");
		err += "Website link is a required field.\r\n";
	}
	
	if (f.email.value == "")
	{
		seterr("email");
		err += "Contact email address is a required field.\r\n";
	}

	if (isDate(f.startdate.value) == false)
	{
		seterr("startdate");
		err += "Start Date is not a valid date.\r\n";
	}

	if (isDate(f.enddate.value) == "")
	{
		seterr("enddate");
		err += "End Date is not a valid date.\r\n";
	}
	
	if (f.destination.value == "")
	{
		seterr("destination");
		err += "Destination is a required field.\r\n";
	}
	
	if (f.description.value == "")
	{
		seterr("description");
		err += "A description is required.\r\n";
	}
	
	if (err == "")
		return true;
	else
	{
		alert("There are errors in your Plan a Trip submission:\r\n\r\n" + err);
		return false;
	}
}

function verify_waw(){
	closeKeepAlive();
	var f = document.getElementById("wawform");
	var err = "";
	clearerr();
	
	if (f.entryname.value == "")
	{
		seterr("entrytitle");
		err += "Business Name is a required field.\r\n";
	}
	
	if (f.phone.value == "")
	{
		seterr("phone");
		err += "Phone number is a required field.\r\n";
	}
	
	if (f.email.value == "")
	{
		seterr("email");
		err += "Email Address is a required field.\r\n";
	}
	
	if (err =="")
		return true;
	else
	{
		alert("There are errors in your Women at Work submission:\r\n\r\n" + err);
		return false;
	}
}

function premiumchange()
{
	var val = $('input[name=premium]:checked').val();
	if (val > 0)
	{
		$('#premiumarea').removeClass("greyme");
		$('#premiumarea input').removeAttr("disabled");
		$('#description').removeClass("greyme");
		$('#description').removeAttr("disabled");
	}
	else
	{
		 $('#premiumarea').addClass("greyme");
		 $('#premiumarea input').attr("disabled", true);
		 $('#description').addClass("greyme");
		 $('#description').attr("disabled", true);
	}
}
		 
// AJAX FUNCTION takes the URL to submit and the DIV to send the result to
function xmlhttpPost(strURL, type) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText, type);
        }
    }
    self.xmlHttpReq.send();
}

function updatepage(updatestring, targetdiv)
{
	document.getElementById(targetdiv).innerHTML = updatestring;
}

function accfilter()
{
	var filtersel = document.getElementById("filter");
	var filterit = filtersel.options[filtersel.selectedIndex].value;
	var sendstring = "/hg_includes/hgajax.php?accfilter=" + filterit;
	$("#accresults").load(sendstring); 
}

function traveldatefilter()
{
	document.getElementById("destination").selectedIndex = 0;
	var filtersel = document.getElementById("datefilter");
	var filterit = filtersel.options[filtersel.selectedIndex].value;
	var sendstring = "/hg_includes/hgajax.php?traveldatefilter=" + filterit;
	$("#travelresults").load(sendstring); 
}

function traveldestfilter()
{
	document.getElementById("datefilter").selectedIndex = 0;
	var filtersel = document.getElementById("destination");
	var filterit  = filtersel.options[filtersel.selectedIndex].value;
	var sendstring = "/hg_includes/hgajax.php?traveldestfilter=" + filterit;
	$("#travelresults").load(sendstring); 
}

// DATE VERIFICATION
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		return false
	}
return true
}

function okit()
{
	var conf = confirm("Are you sure?");
	return conf;
}

function okdelete()
{
	var conf = confirm("WARNING DELETION CANNOT BE UNDONE, ARE YOU SURE?\nyou can set the record to not-display through edit.");
	return conf;
}

function wawmore()
{
	document.getElementById("waw_free").style.display = "block";
	document.getElementById("showmore").style.display = "none";
}
function closeKeepAlive() {
if (/AppleWebKit|MSIE/.test(navigator.userAgent)) {
new Ajax.Request("/empty.html", { asynchronous:false });
}
}

//Calendar sidebar functions
function editad(id)
{
	$("#adform").load("/hg_includes/hgajax.php?adform=" + id);
}

function delad(id)
{
	if (confirm("Delete this ad, are you sure?"))
		$("#caladminlist").load("/hg_includes/hgajax.php?delcalad=" + id);
}

function moveadup(id)
{
	$("#caladminlist").load("/hg_includes/hgajax.php?moveadup=" + id);
}

function moveaddown(id)
{
	$("#caladminlist").load("/hg_includes/hgajax.php?moveaddown=" + id);
}

function changeview(x)
{
	$("#waws").load("/hg_includes/hgajax.php?waw=" +x);
}

function sortwaw(x)
{
	if (x == sortby)
		sortby = x + '--DESC';
	else
		sortby = x;
		
	$("#waws").load("/hg_includes/hgajax.php?wawsort=" + sortby);
}

function waw_admin_start()
{
	// HEADER ROW--------------------------
	$("th[ @id ^= 'th_' ]").addClass("waw_th_unsel");
	$("th[ @id ^= 'sel_' ]").addClass("waw_th_selected");
	
	$("th[ @id ^= 'th_' ]").hover( 
		function() {
			$(this).removeClass("waw_th_unsel");
			$(this).addClass("waw_th_hover");
		}, 
		function () {
			$(this).removeClass("waw_th_hover");
			$(this).addClass("waw_th_unsel");
		}
	);
		
	$("th[ @id ^= 'th_' ]").click( function() {
		insort = this.id.replace("th_", "");
		$("#waw_admin").load("/hg_includes/hgwawtable.php?sortby=" + insort + filter);
	});
	
	$("th[ @id ^= 'sel_' ]").click( function() {
		insort = this.id.replace("sel_", "");
		
		if (wawasc == true)
		{
			insort = insort + "&desc=true";
			wawasc = false;
		}
		else
			wawasc = true;
			
		$("#waw_admin").load("/hg_includes/hgwawtable.php?sortby=" + insort + filter);
	});
	
	// ENTRY ROWS----------------------------------
	$(".entryrow td").hover( 
		function() {
			$(this).parent().children("td").addClass("waw_entry_hover");
		}, 
		function () {
			$(this).parent().children("td").removeClass("waw_entry_hover");
		}
	);
	
	$(".entryrow").click( function() {
		var id = this.id.replace("id_", "");
		window.location = "/waw_single?entryid="+id;
	});
}

//--------------------------------------------------
// Status and expiration changes for waw_entry
//--------------------------------------------------
function updatestat(entryid)
{
	$("#statalert").load("/hg_includes/hgajax.php?updatestatdisplay=" + entryid);
}

function setstatus(entryid)
{
	$("#statalert").load("/hg_includes/hgajax.php?changestat=" + entryid);
}

function setexpiretoday(entryid)
{
	if (confirm("This will set the payed date as today, and set the entry to expire one year from today.\nAre you sure?"))
	{
		$("#statalert").load("/hg_includes/hgajax.php?setexpiretoday=" + entryid);
	}
}

function clearfilter()
{
	filter = '';
	$("#statfilter").val(6);
	$("#typefilter").val(7);
	$("#catfilter").val(0);
	$("#namefilter").val('');
	$("#titlefilter").val('');
	$("#emailfilter").val('');
	$("#waw_admin").load("/hg_includes/hgwawtable.php?sortby=" + insort);
}

function setfilter()
{
	filter = '';
	if ($("#statfilter").val() != 6)
		filter += "&statfilter=" + $("#statfilter").val();
	
	if ($("#typefilter").val() != 7)
		filter += "&typefilter=" + $("#typefilter").val();
	
	if ($("#catfilter").val() != 0)
		filter += "&catfilter=" + $("#catfilter").val();
	
	if ($("#namefilter").val() != '')
		filter += "&namefilter=" + $("#namefilter").val();
		
	if ($("#titlefilter").val() != '')
		filter += "&titlefilter=" + $("#titlefilter").val();
	
	if ($("#emailfilter").val() != '')
		filter += "&emailfilter=" + $("#emailfilter").val();
	
	$("#waw_admin").load("/hg_includes/hgwawtable.php?sortby=" + insort + filter);
}