/* AJAX CMS v3.0 (c) KoLE */
var BEREICH_AUSGABE =0;


function back_link() {
// READ COOKIE - > BACKLINK
	var x = readCookie('movie_list');
	if (x) {
		var ca = x.split('|');
		// PAGE ID
		document.getElementById("page_nr").value=ca[0];
		
		
		// CATS
		if (ca[3]) {
		document.getElementById("cat").value=ca[3];
		var cat = ca[3].split(",");
			for (var i=0; i<cat.length; i++) { 
				document.getElementById(cat[i]).checked =1;
			}
		}
		// SORT ORDER + SORT ID
		//document.getElementById("sort_id").value=ca[1];
		if (ca[2]=="ASC") {
			document.getElementById("sort_order").value="DESC";
		}  else {
			document.getElementById("sort_order").value="ASC";
		}
		Swap(ca[1]);
		
		eraseCookie('movie_list');
		
		//alert(ca[0]);
		MOVIE_LIST(ca[0]);
		
		//sweetTitles.init();
		
		
	}	
}


/* COOKIE FUNKTIONEN */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}




/*PICTURES AJAX ABFRAGE*/
var PC_xmlHttp = createXmlHttpRequestObject_PC(); 
function createXmlHttpRequestObject_PC() 
{	
  // will store the reference to the XMLHttpRequest object
  var PC_xmlHttp;
  // if running Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      PC_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      PC_xmlHttp = false;
    }
  }
  // if running Mozilla or other browsers
  else
  {
    try 
    {
      PC_xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      PC_xmlHttp = false;
    }
  }
  // return the created object or display an error message
  if (!PC_xmlHttp)
  	alert("Error creating the XMLHttpRequest object.");
  else 
    return PC_xmlHttp;
}
function PICTURE_LIST(PAGE,BEREICH)
{  
	// LOADING ..
  	//document.getElementById("movies_load").style.display="none";
  // proceed only if the PC_xmlHttp object isn't busy
  if (PC_xmlHttp.readyState == 4 || PC_xmlHttp.readyState == 0)
  {
	 //LOAD_PICTURE(1);
	 
    // retrieve the name typed by the user on the form
	if (PAGE == null) {
		PAGE=1; // DEFAULT
	}
	
	BEREICH_AUSGABE =BEREICH;
	
	if (BEREICH==1) {
		PC_xmlHttp.open("GET", "lib/agenda_list.php?page="+PAGE, true);
		PC_xmlHttp.onreadystatechange = handleServerResponse_PC;

	} else if (BEREICH==2) {
		PC_xmlHttp.open("GET", "lib/news_list.php?page="+PAGE, true);
		PC_xmlHttp.onreadystatechange = handleServerResponse_PC;
		
	} else if (BEREICH==3) {
		PC_xmlHttp.open("GET", "lib/download_list.php?page="+PAGE, true);
		PC_xmlHttp.onreadystatechange = handleServerResponse_PC;
		
	} else if (BEREICH==4) {
		PC_xmlHttp.open("GET", "lib/ref_list.php?page="+PAGE, true);
		PC_xmlHttp.onreadystatechange = handleServerResponse_PC;
		
	}

	
	
    PC_xmlHttp.send(null);
  }
  else  {
    // if the connection is busy, try again after one second  
   
	
			setTimeout('PICTURE_LIST('+PAGE+','+BEREICH+')', 1000);
		

  }
}
function handleServerResponse_PC() 
{
	
	BEREICH = BEREICH_AUSGABE;
  // move forward only if the transaction has completed
  if (PC_xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (PC_xmlHttp.status == 200) 
    {
		// extract the XML retrieved from the server
		xmlResponse = PC_xmlHttp.responseXML;
	  
	  	// Seitenauswahl
		var seiten = document.getElementById("pages1");
		
		// XML Seiten
		var xml_seiten = xmlResponse.getElementsByTagName("navigation");

		document.getElementById("page_nr").value = xml_seiten[0].childNodes[1].firstChild.nodeValue;
		
		// PAGE FUNKTION (PHP -> JAVASCRIPT) KoLE
		var SeitenZahl 		= parseInt(xml_seiten[0].childNodes[0].firstChild.nodeValue);
		var page			= parseInt(xml_seiten[0].childNodes[1].firstChild.nodeValue);
		var NumerischeLinks	= parseInt(xml_seiten[0].childNodes[2].firstChild.nodeValue);
		
		
		var Nr; // Dynamic
		var Anzeige; // 0
		var SichtbareLinks="";
		var AnfangLink="";
		var ZurueckLink="";
		var EndeLink="";
		var WeiterLink="";
		var AuslassungszeichenVorn="";
		var AuslassungszeichenHinten="";
		var Nav="";
		
		if (SeitenZahl > 1)
			{
			  Nr = page - NumerischeLinks;
			  Anzeige = 0;
			
			  while (Nr <= SeitenZahl)
			  {
				 if (Nr < 1) {Nr++; continue;}
				 else if (Nr > page + NumerischeLinks) {
					 break;
					}
				 if (Nr == page) {
					 SichtbareLinks = SichtbareLinks + '<li><a href="#" class="currentpage"><b>'+Nr+'</b></a></li>';
					 }
				 else {SichtbareLinks = SichtbareLinks + '<li><a href="javascript:PICTURE_LIST('+Nr+','+BEREICH+')">'+Nr+'</a></li>';}
				 Nr++;
				 Anzeige++;
			  }
			}
			if (page > 1)
			{
			  AnfangLink = '<li><a class="prevnext" href="javascript:PICTURE_LIST(1,'+BEREICH+')">First</a></li>';
			  if ((page - 1) > 1)
			  {
				ZurueckLink = '<li><a class="prevnext" href="javascript:PICTURE_LIST('+(page-1)+','+BEREICH+')">&laquo; Back</a></li>';
			  }
			}
			if (page < SeitenZahl)
			{
			  EndeLink = '<li><a class="prevnext" href="javascript:PICTURE_LIST('+SeitenZahl+','+BEREICH+')">Last</a></li>';
			  if ((page + 1) < SeitenZahl)
			  {
				var nextpage;
				nextpage = page;
				nextpage++; // FIXXED +1
				WeiterLink = '<li><a class="prevnext" href="javascript:PICTURE_LIST('+(nextpage)+','+BEREICH+')">Next &raquo;</a></li>';
			  }
			} 
			if ((page - NumerischeLinks) > 1)
			{
			  AuslassungszeichenVorn = ' .. ';
			}
			if ((page + NumerischeLinks) < SeitenZahl)
			{
			  AuslassungszeichenHinten = ' .. ';
			}
			Nav = AnfangLink;
			Nav = Nav + ZurueckLink;
			Nav = Nav + AuslassungszeichenVorn;
			Nav = Nav + SichtbareLinks;
			Nav = Nav + AuslassungszeichenHinten;
			Nav = Nav + WeiterLink;
			Nav = Nav + EndeLink;
			
			seiten.innerHTML = "<ul>"+Nav+"</ul>";
			
			
			// PICTURES EINTRAGEN
			var picture = xmlResponse.getElementsByTagName("picture");
			var photo = document.getElementById("photo");

			photo.innerHTML=""; // leeren
			
			
			
			
				
			
			if(BEREICH==3) {
						
							
							
							// Tabelle leeren
							var table = document.getElementById("t1").getElementsByTagName("tbody")[0];
							
							while (table.childNodes[0])
							{
								table.removeChild(table.childNodes[0]);
							}
							
							// Tabelle erstellen
							var movie = xmlResponse.getElementsByTagName("picture");
					
							var start=1;
							for (var i=0; i<picture.length; i++) { 
								tr=document.createElement('tr');
								
								// MOVIE ID
								if (picture[i].childNodes[0].firstChild == null) {
									var id = 0;
								} else {
									var id = picture[i].childNodes[0].firstChild.nodeValue;
								}
								table.appendChild(tr);
								
										var itemNodeTitel = getXML_Node(picture[i].childNodes[1]); // PICTURE_NAME
										var itemNodeDownload = getXML_Node(picture[i].childNodes[2]); // PICTURE_URL
							
										td=document.createElement('td');
										td.innerHTML += itemNodeTitel;
										tr.appendChild(td);
										
									
									td=document.createElement('td');
									td.setAttribute("width","20");
										td.innerHTML += '<a href="'+itemNodeDownload+'" target="_blank"><img src="images/download.png" width="20" height="20" alt="'+itemNodeTitel+'" /></a>';
									tr.appendChild(td);
							}

				}
			
			
			
			
			
			
			
			for (var i=0; i<picture.length; i++) {
				// TODO Vorschau!
				
				
				if(BEREICH==1) {
							var itemNodeTitel = getXML_Node(picture[i].childNodes[1]); // PICTURE_NAME
							var itemNodeDesc = getXML_Node(picture[i].childNodes[2]); // PICTURE_URL
							var itemNodeLink = getXML_Node(picture[i].childNodes[3]); // PICTURE_BILD
							var itemNodeImageLink = getXML_Node(picture[i].childNodes[4]); // PICTURE_BILD
							var itemNodeImage = getXML_Node(picture[i].childNodes[5]); // PICTURE_BILD
							var itemNodeDatum = getXML_Node(picture[i].childNodes[6]); // PICTURE_BILD
							
							photo.innerHTML += '<div class="ag_box'+(i+1)+'"><div class="ag_date">/// '+itemNodeDatum+'</div><div class="ag_title">'+itemNodeTitel+'</div><div class="ag_image"><a href="index.php?action=agenda&do=show_agenda_info&id='+picture[i].childNodes[0].firstChild.nodeValue+'"><img src="'+itemNodeImage+'" width="220" height="130" border="0" /></a></div><hr /><div class="ag_discription">'+itemNodeDesc+'</div><div class="ag_link"><a href="index.php?action=agenda&do=show_agenda_info&id='+picture[i].childNodes[0].firstChild.nodeValue+'">&#10010; more info</a></div></div>';
					}
				if(BEREICH==2) {
							var itemNodeDatum = getXML_Node(picture[i].childNodes[1]); // PICTURE_NAME
							var itemNodeText = getXML_Node(picture[i].childNodes[2]); // PICTURE_URL
							var itemNodeTitel = getXML_Node(picture[i].childNodes[3]); // PICTURE_BILD
		
							
							photo.innerHTML += '<div class="headline">'+itemNodeTitel+' /// '+itemNodeDatum+'</div>'+itemNodeText+'<br /><br /> <hr /><br /><br />';
				}
				
				if(BEREICH==4) {
					
							var itemNodeTitel = getXML_Node(picture[i].childNodes[1]); // PICTURE_NAME
							var itemNodeDesc = getXML_Node(picture[i].childNodes[2]); // PICTURE_URL
							var itemNodeLink = getXML_Node(picture[i].childNodes[3]); // PICTURE_BILD
							var itemNodeImage = getXML_Node(picture[i].childNodes[4]); // PICTURE_BILD
							
							
							photo.innerHTML += '<div class="ref'+(i+1)+'"><div class="ref_title">/// '+itemNodeTitel+' <a href="index.php?action=ref&do=show_ref_info&id='+picture[i].childNodes[0].firstChild.nodeValue+'">&#10010; more info</a></div><hr /><div class="ref_image"><a href="index.php?action=ref&do=show_ref_info&id='+picture[i].childNodes[0].firstChild.nodeValue+'" target="_self"><img src="'+itemNodeImage+'" width="60" height="60" /></a></div><div class"ref_discript">'+itemNodeDesc+'</div><div style="clear:left;"></div></div>';
				}
				
				
				
			}
			
			
			
			
			
		
			
			
			
			
			
			
			
			
			
			
			
			//setTimeout('LOAD_PICTURE(2)', 2000);
			
	  }	else 
		{
		  alert("There was a problem accessing the server: " + PC_xmlHttp.statusText);
		} 
	}	
}
/*function LOAD_PICTURE(ok) {
	if (ok==1) {
		 var photos = document.getElementById("photo");
		 var loading = document.getElementById("loading");
		 
		 loading.className="bigBlackWaiting";
		 loading.style.position="absolute";
		 loading.style.left=photos.offsetLeft+"px";
		 loading.style.top=photos.offsetTop+80+"px";
		 loading.style.height="1200px";
		 loading.style.width=photos="670px";
		 loading.style.display = "inline";
		 loading.style.opacity="0.8";
		 loading.style.MozOpacity="0.8";
		 loading.style.KhtmlOpacity="0.8";
		 loading.style.filter='alpha(opacity='+Math.round(0.8 * 100)+')';
		 loading.style.visibility="visible";
		 
		 
	} else {
		document.getElementById("loading").style.visibility="hidden";

	}
	
}*/


// FUNCTION ZUM RUNDEN
function number_format (number, decimals, dec_point, thousands_sep)
{
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
  if (eindex > -1)
  {
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }
  
  if (decimals != null)
  {
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ? 
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
  
  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? 
               (dec_point + fractional.substring (1)) : "";
  if (decimals != null && decimals > 0)
  {
    for (i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }
  
  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
                  thousands_sep : null;
  if (thousands_sep != null && thousands_sep != "")
  {
	for (i = integer.length - 3; i > 0; i -= 3)
      integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  
  return sign + integer + fractional + exponent;
}



// FUNCTION NODE IE/FIREFOX/NS others Browser !
function getXML_Node(Item) { // CDATA!! ERROR FIXXED
	var itemNode;
	
	if (Item.textContent==null) {
		if (Item.firstChild.nextSibling==null) {
			itemNode = Item.firstChild.nodeValue; // IE Only
		} else {
			itemNode = Item.firstChild.nextSibling.nodeValue; // NS Only
		}
		
	} else {
			//itemNode = Item.textContent; // Other Browser
			itemNode = Item.firstChild.nextSibling.nodeValue // Other Browser
	}
	
	return itemNode;
}
