function AjaxCall(url, target){
//	alert(url);
	
	if(url != "" && target != ""){
		$.get(url, { ajax: "1"},
			  function(data){
			  	$("#"+target).html(data);
		});
	}
}
function AjaxPost(url, target){
//	alert(url);
	
	if(url != "" && target != ""){
		$.post(url, { ajax: "1"},
			  function(data){
			  	$("#"+target).html(data);
		});
	}
}


var http_request = false;
var myspan;
var activeRequest = 0;

function makePageRequest(url, parameters, myspan_name) {
   http_request = false;
   myspan = myspan_name;

   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
         http_request.overrideMimeType('text/xml');
      }
   } 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('Cannot create XMLHTTP instance');
      return false;
   }else{
  	 activeRequest++;
   }

   http_request.onreadystatechange = alertPageContents;
   http_request.open('POST', url, true);
   http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   http_request.setRequestHeader("Content-length", parameters.length);
   http_request.setRequestHeader("Connection", "close");
   http_request.send(parameters);

//   alert(url+"?"+parameters);

//   http_request.open('GET', url+"?"+parameters, true);
//   http_request.send(null);
}

function alertPageContents() {

   if (http_request.readyState == 4) {
      if (http_request.status == 200) {
//       alert(http_request.responseText);
         result = http_request.responseText;
         processAjax(result,myspan);
         activeRequest--;
//         alert(activeRequest);
         AjaxQueue.processNext();
      } else {
         alert('There was a problem with the request.');
         activeRequest--;
      }
   }
}

function processAjax(result,myspan_name){
//	if(myspan_name == 'loadercontent'){
//		move_div.write(result);
//	}else{
		document.getElementById(myspan_name).innerHTML = result;
//	}
}

var AjaxQueue = {
	batchSize: 1,
	urlQueue: [],
	elementsQueue: [],
	optionsQueue: [],
	setBatchSize: function(bSize){
		this.batchSize = bSize;
	},
	push: function(url, options, elementID){
		this.urlQueue.push(url);
		this.optionsQueue.push(options);
		if(elementID!=null){
			this.elementsQueue.push(elementID);
//			processAjax("Loading...",elementID)
		} else {
			this.elementsQueue.push("NOTSPECIFIED");
		}

		this.processNext();
	},
	processNext: function() {

		if(activeRequest < this.batchSize)
		{

			if(this.urlQueue != ""){
				makePageRequest(this.urlQueue.shift(), this.optionsQueue.shift(), this.elementsQueue.shift())
			}else{
//				alert("sasasasasa");
			}
		}else{
//			alert(activeRequest);
		}
	}
};

//AjaxQueue.setBatchSize(1);
//AjaxQueue.push(url, options); // for Ajax.request
//AjaxQueue.push(url, options, elementId); // for Ajax.updater calls



function details_submit(frm,url,myspan_name) {

      var getstr = "";
      var newgetstr = "";

      for (i=0; i<frm.elements.length; i++) {

      	if (frm.elements[i].tagName == "INPUT") {

	         if ((frm.elements[i].type == "text") || (frm.elements[i].type == "hidden")) {
	               getstr += frm.elements[i].name + "=" + urlencode(frm.elements[i].value) + "&";
	         }

	         if (frm.elements[i].type == "checkbox") {
	            if (frm.elements[i].checked) {
	               getstr += frm.elements[i].name + "=" + urlencode(frm.elements[i].value) + "&";
	            } else {
//	               getstr += frm.elements[i].name + "=&";
//	               newgetstr += frm.elements[i].name + "=&";
	            }
	         }
	         if (frm.elements[i].type == "radio") {
	            if (frm.elements[i].checked) {
	               getstr += frm.elements[i].name + "=" + urlencode(frm.elements[i].value) + "&";
	            }
	         }
      	}
      	if (frm.elements[i].tagName == "TEXTAREA") {
            getstr += frm.elements[i].name + "=" + urlencode(frm.elements[i].value) + "&";
         }
      	if (frm.elements[i].tagName == "SELECT") {
            var sel = frm.elements[i];
            getstr += sel.name + "=" + urlencode(sel.options[sel.selectedIndex].value) + "&";
         }
      }

//      alert(url+getstr)

      AjaxQueue.push(url,getstr,myspan_name);
}

function urlencode(str) {
str = escape(str);
str = str.replace('+', '%2B');
str = str.replace('%20', '+');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}

function deleteAjaxCredits(theform, allShow,url,span){
	var item_selected = 0;

	if(theform.elements[allShow + "_id[]"].checked == true){
		item_selected = 1;
	}

	for(x = 0;x < theform.elements[allShow + "_id[]"].length; x++){
		if(theform.elements[allShow + "_id[]"][x].checked == true){
			item_selected = 1;
			break;
		};
	}

	if(item_selected == 1){
		if(confirm("Do you really want to delete selected credits?")){
			details_submit(theform,url,span);
//			theform.submit();
		}
	}else{
		alert("Please select credits you want to delete.");
	}
}


function editAjaxCredits(theform, allShow,url,span){
	var item_selected = 0;
	edit_count = 0;

	if(theform.elements[allShow + "_id[]"].checked == true){
		item_selected = 1;
		edit_count = 1;
	}

	for(x = 0;x < theform.elements[allShow + "_id[]"].length; x++){
		if(theform.elements[allShow + "_id[]"][x].checked == true){
			item_selected = 1;
			edit_count ++;
			if(edit_count > 1){
				break;
			}
		};
	}

	if(edit_count == 0){
		alert("Please select an entry you want to edit.");
	}else if(edit_count > 1){
		alert("Please only select a single entry you want to edit.");
	}else{
		theform.elements["edit_entry"].value = 1;
		details_submit(theform,url,span);
	}
}


function submitAjaxCreditsForm(url,span,award){
		theform = document.entries;

		if(theform.elements["data_credits[entry_credits][0][name]"].value == "" || theform.elements["data_credits[entry_credits][0][credit_titles_id]"].value == "-1"){
			alert("Make sure all required fields are entered properly.");
		}else{
			details_submit(theform,url,span);
		}
	}

	function submitAjaxEditForm(url,span,award){
		theform = document.entries;

		if(theform.elements["edit_credits[entry_credits][0][name]"].value == "" || theform.elements["edit_credits[entry_credits][0][credit_titles_id]"].value == "-1"){
			alert("Make sure all required fields are entered properly.");
		}else{
			theform.elements["use_edit"].value = 1;
			details_submit(theform,url,span);
		}
	}


//awards


function editAjaxAwards(theform, allShow,url,span){
	var item_selected = 0;
	var edit_count = 0;

	if(theform.elements[allShow + "_id[]"].checked == true){
		item_selected = 1;
		edit_count = 1;
	}

	for(x = 0;x < theform.elements[allShow + "_id[]"].length; x++){
		if(theform.elements[allShow + "_id[]"][x].checked == true){
			item_selected = 1;
			edit_count ++;
			if(edit_count > 1){
				break;
			}
		};
	}

	if(edit_count == 0){
		alert("Please select an entry you want to edit.");
	}else if(edit_count > 1){
		alert("Please only select a single entry you want to edit.");
	}else{
		theform.elements["edit_entry_award"].value = 1;
		details_submit(theform,url,span);
	}
}

function submitAjaxAwardsForm(url,span){
		theform = document.entries;

		if(theform.elements["award[entry_credits_awards][0][name]"].value == "" || theform.elements["award[entry_credits_awards][0][title]"].value == ""){
			alert("Make sure all required fields are entered properly.");
		}else{
			details_submit(theform,url,span);
		}
	}

function submitAjaxAwardsEditForm(url,span){
		theform = document.entries;

		if(theform.elements["award_edit[entry_credits_awards][0][name]"].value == "" || theform.elements["award_edit[entry_credits_awards][0][title]"].value == ""){
			alert("Make sure all required fields are entered properly.");
		}else{
			theform.elements["use_edit_award"].value = 1;
			details_submit(theform,url,span);
		}
	}


