// JavaScript Document
function confirmAction($message) {
	return confirm($message);
}

function toggleRow(cdiv,div,tdiv) {
	if (document.getElementById(div).style.display=='block') { 
		document.getElementById(div).style.display='none';
		document.getElementById(tdiv).innerHTML='<a href="javascript:toggleRow(\''+cdiv+'\',\''+div+'\',\''+tdiv+'\')">+</a>';
	}
	else { 
		document.getElementById(div).style.display='block';
		document.getElementById(tdiv).innerHTML='<a href="javascript:toggleRow(\''+cdiv+'\',\''+div+'\',\''+tdiv+'\')">-</a>';
	}
}


function toggleMoreLess(cdiv,div,maxheight,divmlt) {
	height=document.getElementById(cdiv).offsetHeight;
	endheight=document.getElementById(div).offsetHeight;
	if (height <= maxheight ) {
		$(cdiv).tween('height', [maxheight, endheight+10]);	
		if(divmlt.length>0) document.getElementById(divmlt).innerHTML='hide details';
	} else {
		$(cdiv).tween('height', [endheight+10, maxheight]);	
		if(divmlt.length>0) document.getElementById(divmlt).innerHTML='show details';
	}
}

function toggleMoreLessHelp(cdiv,div,maxheight) {
	height=document.getElementById(cdiv).offsetHeight;
	endheight=document.getElementById(div).offsetHeight;
	if (height <= maxheight ) {
		if (admin_help_id=='hom_doh1') { 
			document.getElementById(cdiv).style.cssFloat='left';
		}
		$(cdiv).tween('height', [maxheight, endheight]);	
	} else {
		$(cdiv).tween('height', [endheight, maxheight]);	
	}
}

function toggleMediaBar(cdiv,div,maxwidth) {
	width=document.getElementById(cdiv).offsetWidth;
	endwidth=document.getElementById(div).offsetWidth;
	if (width <= maxwidth ) {
		$(cdiv).tween('width', [maxwidth, endwidth]);	
	} else {
		$(cdiv).tween('width', [endwidth, maxwidth]);	
	}
}

//help function getting the help page based on the javascript help_id set by a particular view form
var admin_help_id=null;
function getHelp(cdiv,div,maxheight) {	
	var url="AdminPagesHandler.php?ajax=true&page=HelpFormHandler.php&action=view";
	url=url+"&filter=help.help_id";
	url=url+"&filtervalue="+admin_help_id;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById(div).innerHTML=responseText;
		toggleMoreLessHelp(cdiv,div,maxheight);	
	}
	myRequest.update();	
}

//Maintains the last div that was set to play
var lastplayed=null;

function togglePlayStop(div,command,url) {
	if (command=='play') {
		player = document.getElementById('mplayer');
		player.sendEvent('LOAD',url);
		player.sendEvent('PLAY');
		content='<a href="javascript:togglePlayStop(\''+div+'\',\'stop\',\''+url+'\');">stop</a>';
		if (lastplayed!=null) document.getElementById(lastplayed).innerHTML='<a href="javascript:togglePlayStop(\''+lastplayed+'\',\'play\',\''+lasturl+'\');">play</a>';	
		lastplayed=div;
		lasturl=url;		
	} else {
		player.sendEvent('STOP');		
		content='<a href="javascript:togglePlayStop(\''+div+'\',\'play\',\''+url+'\');">play</a>';	
		lastplayed=null;
	}	
	document.getElementById(div).innerHTML=content;
}

function showImage(pExistingImageID,str) { 
	 document.getElementById('imagepreview').style.visibility='visible';
    var img = document.createElement('img');
    img.onload = function (evt) {
        document.getElementById(pExistingImageID).src=this.src;
        document.getElementById(pExistingImageID).width=this.width;
        document.getElementById(pExistingImageID).height=this.height;	   
    }
	img.src = 'http://'+str;
    return false;
}

function hideImage() { 
	document.getElementById('imagepreview').style.visibility='hidden';
}

// Begin AJAX functions

function ajaxObject(url, callbackFunction) {
  var that=this;      
  this.updating = false;
  this.abort = function() {
    if (that.updating) {
      that.updating=false;
      that.AJAX.abort();
      that.AJAX=null;
    }
  }
  this.update = function(passData,postMethod) { 
    if (that.updating) { return false; }
    that.AJAX = null;                          
    if (window.XMLHttpRequest) {              
      that.AJAX=new XMLHttpRequest();              
    } else {                                  
      that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
    }                                             
    if (that.AJAX==null) {                             
      return false;                               
    } else {
      that.AJAX.onreadystatechange = function() {  
        if (that.AJAX.readyState==4) {             
          that.updating=false;                
          that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
          that.AJAX=null;                                         
        }                                                      
      }                                                        
      that.updating = new Date();                              
      if (/post/i.test(postMethod)) {
        var uri=urlCall+'?'+that.updating.getTime();
        that.AJAX.open("POST", uri, true);
		that.AJAX.setRequestHeader("Content-Type", "application/x-www-form-URLencoded; charset=UTF-8");		
        that.AJAX.setRequestHeader("Content-Length", passData.length);
		that.AJAX.setRequestHeader("Connection", "close");
        that.AJAX.send(passData);
      } else {
        var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
        that.AJAX.open("GET", uri, true);                             
        that.AJAX.send(null);                                         
      }              
      return true;                                             
    }                                                                           
  }
  var urlCall = url;        
  this.callback = callbackFunction || function () { }
}
 
function processData(responseText, responseStatus) {
  if (responseStatus==200) {
    alert(responseText);
  } else {
    alert(responseStatus);
  }
}

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;
}
   
// Getting all Images of a specific entry
function filterImagesOnEntry(str) { 
	var url="AdminPagesHandler.php?ajax=true&page=ImagesFormHandler.php&action=filter";
	url=url+"&filter=entries.entry_id";
	url=url+"&filtervalue="+str;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById('filter').innerHTML=responseText;
		Slimbox.scanPage();
	}
	myRequest.update();
}

// Getting all Sounds of a specific entry
function filterSoundsOnEntry(str) { 
	var url="AdminPagesHandler.php?ajax=true&page=SoundsFormHandler.php&action=filter";
	url=url+"&filter=entries.entry_id";
	url=url+"&filtervalue="+str;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById('filter').innerHTML=responseText;
		Slimbox.scanPage();
	}
	myRequest.update();
}

// Getting all Videos of a specific entry
function filterVideosOnEntry(str) { 
	var url="AdminPagesHandler.php?ajax=true&page=VideosFormHandler.php&action=filter";
	url=url+"&filter=entries.entry_id";
	url=url+"&filtervalue="+str;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById('filter').innerHTML=responseText;
		Slimbox.scanPage();
	}
	myRequest.update();
}

// Getting all Documents of a specific entry
function filterDocumentsOnEntry(str) { 
	var url="AdminPagesHandler.php?ajax=true&page=DocumentsFormHandler.php&action=filter";
	url=url+"&filter=entries.entry_id";
	url=url+"&filtervalue="+str;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById('filter').innerHTML=responseText;
	}
	myRequest.update();
}

// Getting all Entries of a specific category
function filterEntriesOnCategories(str) { 
	var url="AdminPagesHandler.php?ajax=true&page=EntriesFormHandler.php&action=filter";
	url=url+"&filter=categories.category_id";
	url=url+"&filtervalue="+str;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		document.getElementById('filter').innerHTML=responseText;
	}
	myRequest.update();
}

// Getting all Entries of a specific category
function filterMediaEntriesOnCategories(id) { 
	var combo = document.getElementById('entry');
    combo.options.length = 0;
	var url="AdminPagesHandler.php?ajax=true&page=EntriesFormHandler.php&action=mediacatfilter";
	url=url+"&filter=categories.category_id";
	url=url+"&filtervalue="+id;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		var response=responseText;
		var items = response.split("[semicolon]");
		var count = items.length;
		for (var i=0;i<count-1;i++){
			var options = items[i].split("[comma]");
			combo.options[i] = 	new Option(options[1],options[0]);
		}
	} 
	myRequest.update();
}

// Getting all Specs of a specific category
function filterSpecsOnCategories(id) { 
	var combo = document.getElementById('tomapSpecifications');
    combo.options.length = 0;
	var url="AdminPagesHandler.php?ajax=true&page=EntriesFormHandler.php&action=getspecs";
	url=url+"&filter=categories.category_id";
	url=url+"&filtervalue="+id;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		var response=responseText;
		var items = response.split("[semicolon]");
		var count = items.length;
		for (var i=0;i<count-1;i++){
			var options = items[i].split("[comma]");
			combo.options[i] = 	new Option(options[1],options[0]);
		}
	} 
	myRequest.update();
}

// Getting all Specs of a specific category
function filterParentEntriesOnCategories(id) { 
	var combo = document.getElementById('entry_parentid');
    combo.options.length = 0;
	var url="AdminPagesHandler.php?ajax=true&page=EntriesFormHandler.php&action=getparententries";
	url=url+"&filter=categories.category_id";
	url=url+"&filtervalue="+id;
	url=url+"&pagenr=&";
	url=url+"&sid="+Math.random();
	var myRequest = new ajaxObject(url, processData);  
	myRequest.callback = function(responseText) {
		var response=responseText;
		var items = response.split("[semicolon]");
		var count = items.length;
		for (var i=0;i<count-1;i++){
			var options = items[i].split("[comma]");
			combo.options[i] = 	new Option(options[1],options[0]);
		}
	} 
	myRequest.update();
}


// END AJAX Functions

// Show or hiding template values field of specific EntryFormHandler template
function filterTemplateValueOnTemplate(str) {
	selection = document.getElementById('template').selectedIndex
	if ( document.getElementById('template').options[selection].text =='EntriesFormHandler.php') { 
		document.getElementById('templatebasedtemplatevaluediv1').style.visibility='visible';
		document.getElementById('templatebasedtemplatevaluediv2').style.visibility='visible';
	} 
	else { 
		document.getElementById('templatebasedtemplatevaluediv1').style.visibility='hidden';
		document.getElementById('templatebasedtemplatevaluediv2').style.visibility='hidden';
	}
}

