function UpdateConfirmation(pID,field,type){
	//savingSign('show');
	var newValue = 0;
	if (field.checked)
		newValue = 1
		
	SaveConfirmation(pID,newValue,type)
}

function SaveConfirmation(pID,newValue,type){
	urlStr = "SaveConfirmation.asp?placementID=" + pID + "&updateType=" + type + "&value=" + newValue + "&rnd=" + Math.random()
	makeRequest(urlStr,'SaveConfirmationCallback');
}

function SaveConfirmationCallback(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
					var respText = http_request.responseText
					placementID = respText.split("|")[0]
					newDate = respText.split("|")[1]
					var span = document.getElementById("ConfDate_"+placementID)
					span.innerText = newDate
        } else {
            alert('There was a problem with the request.');
        }
    }
}

function UpdateCreative(pID,field,type){
	//savingSign('show');
	var newValue = "false";
	if (field.checked) {
		newValue = "true"
		field.className = ""
	} else {
		field.className = "CheckboxHighlight"
	}
	
	urlStr = "SaveCreative.asp?placementID=" + pID + "&updateType=" + type + "&value=" + newValue + "&rnd=" + Math.random()
	//alert(urlStr)
	//location = urlStr
	makeRequest(urlStr,'alertContents');
}


//---------------------------------------

function SelectAllForExport(chbox) {
	// when user clicks Select All in xero billing report
	var newValue = (chbox.checked)
	var f = chbox.form
	var len = f.length
	for (var i=0; i<len; i++) {
		if (f[i].name.indexOf("Selected_") > -1) {
			f[i].checked = newValue
		}
	}
}

function GetSelectedCheckboxItems() {
	// when user clicks Export Selected in xero billing report
	var f = document.forms["reportform"]
	var len = f.length
	var itemIDs = ""
	for (var i=0; i<len; i++) {
		if (f[i].name.indexOf("Selected_") > -1) {
			if (f[i].checked) {
				if (itemIDs!="") itemIDs += ","
				itemIDs += f[i].name.substr(9)
			}
		}
	}
	return itemIDs
}

//---------------------------------------

function SelectAllBilled(chbox, billedDate) {
	var newValue = (chbox.checked)
	var f = chbox.form
	var len = f.length
	var billingSplitIDs = ""
	for (var i=0; i<len; i++) {
		if (f[i].name.indexOf("IsBilled_") > -1) {
			f[i].checked = newValue
			if (billingSplitIDs!="") billingSplitIDs += ","
			billingSplitIDs += f[i].name.substr(9)
		}
	}
	UpdateBilledFlag(billingSplitIDs,chbox,billedDate)
}

function UpdateBilledFlag(billingsplitids,field, bdate){
	//savingSign('show');
	var newValue = "false";
	if (field.checked) {
		newValue = "true"
		field.className = ""
	} else {
		field.className = "CheckboxHighlight"
	}
	
	urlStr = "SaveBilledFlag.asp?billingsplitids=" + billingsplitids + "&value=" + newValue + "&bdate=" + bdate + "&rnd=" + Math.random()
	//alert(urlStr)
	//location = urlStr
	makeRequest(urlStr,'alertContents');
}

function Unbill(encBillingsplitid, billingsplitid) {
	urlStr = "SaveUnbilled.asp?ebsid=" + encBillingsplitid + "&rnd=" + Math.random()
	//alert(urlStr)
	//location = urlStr
	makeRequest(urlStr,'alertContents');
	document.getElementById("UnbillCell_"+billingsplitid).innerHTML = "<b>No</b>"
	$(".InvNum_"+billingsplitid).css("text-decoration", "line-through")
}

function makeRequest(url,returnFunction) {
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // See note below about this line
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
		returnFunction = returnFunction + '(http_request)';
    http_request.onreadystatechange = function() { eval(returnFunction) };
    http_request.open('GET', url, true);
		http_request.send(null);
}

function alertContents(http_request) {

    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
					//savingSign('complete');
            //alert(http_request.responseText);
        } else {
            alert('There was a problem with the request.');
            alert(http_request.responseText);
        }
    }

}

//--------------------------------------------

function ClickInlineEditField(fieldname, span) {
	var cell = span.parentElement
	if (!span.getAttribute("isEditing")) {
		span.setAttribute("isEditing", true)
		span.style.padding = "0px 0px 0px 1px"
		var currentHTML = span.innerHTML
		var fieldType = span.getAttribute("fieldType")
		var html
		if (fieldType=="textarea") {
			html = "<textarea name="+fieldname+" onblur='ChangeInlineEditField(this)' style='width:95%;height:95%;' rows=3>" + currentHTML + "</textarea>"
		} else if (fieldType=="ratio") {
			html = "<input name="+fieldname+" value='" + currentHTML + "' onblur='ChangeInlineEditField(this)' style='width:95%;height:95%;' maxlength='3' onkeyup='this.value=StripDigits(this)'>"
		} else {
			html = "<input name="+fieldname+" value='" + currentHTML + "' onblur='ChangeInlineEditField(this)' style='width:95%;height:95%;'>"
			// xonkeypress='KeyPressInlineEditField(event, this)'
		}
		span.innerHTML = html
		var field = span.children[0]
		//field.value = currentText
		field.focus()
	}
}

function KeyPressInlineEditField(e, field) {
	if (e.keyCode==13) {
		ChangeInlineEditField(field)
	}
}

function ChangeInlineEditField(field) {
	var span = field.parentElement
	//var cell = span.parentElement
	//var row = cell.parentElement
	var placementID = span.getAttribute("placementID")
	var currentText = field.value
	var fieldName = field.name
	var img = new Image()
	//img.onload = function() { span.innerHTML = currentText; span.setAttribute("isEditing", false); span.style.padding = "2px 5px" }
	var url = "UpdatePlacementInlineEditField_svc.asp?placementID="+placementID+"&f="+fieldName+"&val="+escape(currentText)
	img.src = url
	//location = url
}

function AdminClickInlineEditField(fieldname, span) {
	var cell = span.parentElement
	if (!span.getAttribute("isEditing")) {
		span.setAttribute("isEditing", true)
		span.style.padding = "0px 0px 0px 1px"
		var currentHTML = span.innerHTML
		var fieldType = span.getAttribute("fieldType")
		var html
		if (fieldType=="textarea") {
			html = "<textarea name="+fieldname+" onblur='AdminChangeInlineEditField(this)' style='width:95%;height:95%;' rows=3>" + currentHTML + "</textarea>"
		} else if (fieldType=="ratio") {
			html = "<input name="+fieldname+" value='" + currentHTML + "' onblur='AdminChangeInlineEditField(this)' style='width:95%;height:95%;' maxlength='3' onkeyup='this.value=StripDigits(this)'>"
		} else {
			html = "<input name="+fieldname+" value='" + currentHTML + "' onblur='AdminChangeInlineEditField(this)' style='width:95%;height:95%;'>"
			// xonkeypress='KeyPressInlineEditField(event, this)'
		}
		span.innerHTML = html
		var field = span.children[0]
		//field.value = currentText
		field.focus()
	}
}

function AdminKeyPressInlineEditField(e, field) {
	if (e.keyCode==13) {
		AdminChangeInlineEditField(field)
	}
}

function AdminChangeInlineEditField(field, tablename, id) {
	var span = field.parentElement
	var currentText = field.value
	var fieldName = field.name
	var img = new Image()
	//img.onload = function() { span.innerHTML = currentText; span.setAttribute("isEditing", false); span.style.padding = "2px 5px" }
	var url = "UpdateAdminInlineEditField_svc.asp?id="+id+"&f="+fieldName+"&val="+escape(currentText)+"&tablename="+tablename+"&rnd=" + Math.random()
	img.src = url
	//location = url
}

//--------------------------------------------

/*
function AjaxGet(url, func) {
	var img = new Image()
	img.onload = func
	img.src = url
}
*/

function StripDigits(str) {
	var str2, aChar, i
	if (str.value)
		str = str.value
	str2 = ""
	// ignore all but digits
	for(i=0; i < str.length; i++) {
		aChar = str.substring(i,i+1);
		if (aChar >= "0" && aChar <= "9") {
			str2 += aChar;
		}
	}
	return str2
}

////////////////////////////////////////////
// accordian code
// used on principle.aspx and partnersubcategory.aspx
////////////////////////////////////////////

var currentAccordianID = 0

function ToggleAccordian(accordianID) {
	if (accordianID==currentAccordianID) {
		// currently selected, so hide it
		$("#"+currentAccordianID).removeClass("selected")
		$("#AccordianDetails" + currentAccordianID).hide()
		// now nothing is selected
		currentAccordianID = 0
	} else {
		ShowAccordian(accordianID)
	}
}

function ShowAccordian(accordianID) {
	if (currentAccordianID!=0) {
		// hide previous thing
		$("#"+currentAccordianID).removeClass("selected")
		$("#AccordianDetails" + currentAccordianID).hide()
	}
	// set selected to thing you clicked
	currentAccordianID	= accordianID
	// show thing you clicked
	$("#"+currentAccordianID).addClass("selected")
	$("#AccordianDetails" + currentAccordianID).fadeIn(500)			
}