// Just a stub function we'll tell ajaxObject to call when it's done
// callback functions get responseText, and responseStat respectively
// in their arguments.
function fin(responseTxt,responseStat) {
  //alert(responseStat+' - '+responseTxt);
}

// create a new ajaxObject, give it a url it will be calling and
// tell it to call the function "fin" when its got data back from the server.
//var test1 = new ajaxObject('http://someurl.com/server.cgi',fin);
//    test1.update();
               
// create a new ajaxObject, give it a url and tell it to call fin when it
// gets data back from the server.  When we initiate the ajax call we'll
// be passing 'id=user4379' to the server.           
//var test2 = new ajaxObject('http://someurl.com/program.php',fin);
//    test2.update('id=user4379');
               
// create a new ajaxObject but we'll overwrite the callback function inside
// the object to more tightly bind the object with the response hanlder.


// create a new ajaxObject and pass the data to the server (in update) as
// a POST method instead of a GET method.
//var test4 = new ajaxObject('http://someurl.com/postit.cgi', fin);
//   test4.update('coolData=47&userId=user49&log=true','POST'); 


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");
        		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 () { };
  
}

var AjaxCategoryIdArr=new  Array();

     	
	
	/********** pages       **********/


function MenuMove(cid,orderid,parentid,task){
 
    var flag = false ;
    if(flag == false){
	link='ordering.php?task='+task+'&parentid='+parentid+'&menu='+cid+'&orderid='+orderid;
	var linkComp = link.split( "?");		
		
		var result;		
				
		var obj = new ajaxObject(linkComp[0], fin);

		obj.update(linkComp[1],"GET");

		obj.callback = function (responseTxt, responseStat) {
          
           //ShowBlogPage();  
			// we'll do something to process the data here.
			result = responseTxt
			//alert(result);
	      location.reload(true);
			//return ; 
         flag = true ;
		}
     } 
	}
		

function ShowParentMenu(baseurl,id){
		//alert(menu_type);
		link= baseurl+'menulist.php?id='+id;
	  var linkComp = link.split( "?");
      var result;
		var obj = new ajaxObject(linkComp[0], fin);

		obj.update(linkComp[1],"GET");
	   obj.callback = function (responseTxt, responseStat) {

			// we'll do something to process the data here.
			result = responseTxt
			
			document.getElementById('parent_id').innerHTML = result;  
					
	}
}

function ChangeImage(imageId,projectId){
	
	link="showImage.php?id="+imageId+"&projectId="+projectId;
		var linkComp = link.split( "?");
				
			var result;
			
					
			var obj = new ajaxObject(linkComp[0], fin);

			obj.update(linkComp[1],"GET");

			obj.callback = function (responseTxt, responseStat) {
	           
				result = responseTxt
			//	alert(result);
				document.getElementById('displayImage').innerHTML = result;  
	

			}
}

function ChangeMenuOrder(url){
	//alert(url);
	link= url;
		var linkComp = link.split( "?");
			var result;
			
					
			var obj = new ajaxObject(linkComp[0], fin);

			obj.update(linkComp[1],"GET");

			obj.callback = function (responseTxt, responseStat) {
			result = responseTxt
		alert(result);
	     location.reload(true);
	}
	}

var  currentBanner1=0; 
function PreviousImage(imageCount){
	  if(imageCount!=1){
	   currentBanner1--;
	    if(currentBanner1 < 0 ){
	     currentBanner1=imageCount-1;
	   }
	   
	  
	  	for(var i=0; i<imageCount;i++){
	  
	  	document.getElementById('banner'+i).style.display= "none";
	  	}
	  	
	  	if(document.getElementById('banner'+currentBanner1)!=""){
	          document.getElementById('banner'+currentBanner1).style.display= "block";
	    }
	  }else{
	   currentBanner1=1;
	  } 

	}

function NextImage(imageCount){
	 if(imageCount!=1){
	  	currentBanner1++;
	  	
	  	if(currentBanner1 >= imageCount){
	     currentBanner1=0;
	   }
	  	for(var i=0; i<imageCount;i++){
	  	document.getElementById('banner'+i).style.display= "none";
	   }
		
	  	if(document.getElementById('banner'+currentBanner1)!=""){
	      document.getElementById('banner'+currentBanner1).style.display= "block";
	    }
	    }else{
	    currentBanner1=1;
	    }
	  } 

/********* Classes ********/
function ClassMove(cid,orderid,task){
	 
    var flag = false ;
    if(flag == false){
	link='ordering.php?task='+task+'&menu='+cid+'&orderid='+orderid;
	var linkComp = link.split( "?");		
		
		var result;		
				
		var obj = new ajaxObject(linkComp[0], fin);

		obj.update(linkComp[1],"GET");

		obj.callback = function (responseTxt, responseStat) {
          
           //ShowBlogPage();  
			// we'll do something to process the data here.
			result = responseTxt
		//alert(result);
	      location.reload(true);
			//return ; 
         flag = true ;
		}
     } 
	}

function ShowMonths(year){
	 var obj =  document.getElementById('months'+year);
	 if( obj.style.display != 'none' && obj.style.display != '' ){
			obj.style.display = 'none';
		}else{
			obj.style.display = 'block'
		}
 
 
 
}
function ShowNewsOfMonth(month){
	 var obj =  document.getElementById('news'+month);
	 if( obj.style.display != 'none' && obj.style.display != '' ){
			obj.style.display = 'none';
		}else{
			obj.style.display = 'block'
		}
	
}
