/* JAVASCRIPT THAT USES AJAX PROFESSIONAL */

var type = -1;
var currid;
var mode;
var currentdata;
var hiddencurrid = "ucContent_hiddenCurrentID";
var hiddentypeid = "ucContent_hiddenCurrentIDType";
var hiddenspecialid = "ucContent_hiddenShowSpecials";
var imagepath;
var isrubricselected = false;


var gaid,gpid,gcatdivid;
/* this method shows a window with a selection of rubrics */
function exportArticle(e,articleId,projectId,catdivId)
{
	gaid = articleId;
	gpid = projectId;
	
	var ev = dom.fE(e);
	gcatdivid = catdivId;
	var table = dom.gI(catdivId);
	
	if(table != null){
		table.style.display = "block";
		
		table.style.top = ev.clientY - 20;
		table.style.left = ev.clientX - 220;
		
		var sel = dom.gI(gcatdivid + "rubriken");
		
		if(sel != null)
		{
			sel.selectedIndex = 0;
		//	dom.aE(sel,"change",proExportArticle,false);
			
		} else {
			var txt = dom.gI(gcatdivid + "nummer");
			
			if(txt != null)
				txt.value = "";
		}
		
	}
	
}

/* this method saves an article to the table exportarticle with the selected rubric */
function proExportArticle()
{
		
	var sel = dom.gI(gcatdivid + "rubriken");
		
	if(sel != null){
		// save to db
		VolksblattArchiv.classes.AjaxHelper.exportArticle(gaid,gpid,sel.options[sel.selectedIndex].value,cbExportArticle);
		// hide window
		dom.gI(gcatdivid).style.display = "none";
		sel.selectedIndex = 0;
	} else {
			var txt = dom.gI(gcatdivid + "nummer");
			
			if(txt != null)
			{
				VolksblattArchiv.classes.AjaxHelper.exportArticle(gaid,gpid,txt.value,cbExportArticle);
				// hide window
				dom.gI(gcatdivid).style.display = "none";
			}
	}
}


/* callback for method AjaxHelper.exportArticle */
function cbExportArticle(res){
	
	if(res.error != null)
		alert(res.error);
	else
		alert("Artikel wurde erfolgreich exportiert");

}

function proShowArticle(aid)
{
	type = 0;
	mode = dom.gI("ucContent_hiddenViewMode").value;
	VolksblattArchiv.classes.AjaxHelper.loadArticle(mode,aid,proLoadContent);	
	
	isrubricselected = false;

	setSelectedArticle(aid);	
	saveID(aid,type);
}

function proShowArticlesOfRubric(rid,mrid,date)
{
	type = 1;
	
	mode = dom.gI("ucContent_hiddenViewMode").value;
	VolksblattArchiv.classes.AjaxHelper.loadArticlesByRubric(mode,rid,mrid,date,proLoadContent);
	
	isrubricselected = true;
	
	setSelectedRubric(rid);
	saveID(rid,type);
}


function proShowSite(m,pdfperfile,sid,datum,seite,frontimage)
{
	type = 2;
	mode = m;
	
	if(sid != "")
		VolksblattArchiv.classes.AjaxHelper.loadSite(mode,sid,pdfperfile,proLoadContent);
	else
		showSpecialSite(mode,pdfperfile,datum,seite,frontimage);
	
	isrubricselected = false;
	
	setSelectedPdf("pdf" + seite);
	saveID(sid,type);

}

function showSiteAsText(siteid)
{
	if(currentdata != null)
	{
		VolksblattArchiv.classes.AjaxHelper.loadSite("text",currentdata.siteId,0,proLoadContent);
		//proShowSite("text",0,currentdata.siteId,currentdata.date,currentdata.sitenumber,currentdata.sourcefile);
	} else {
		VolksblattArchiv.classes.AjaxHelper.loadSite("text",siteid,0,proLoadContent);
	}
}

function showSiteAsTextById(siteId)
{
	if(currentdata != null)
	{
		proShowSite("text",0,siteId,'','','');
	}
}


/* this callback loads the content and sets all status information on page */
function proLoadContent(res)
{
	//alert(res.value);
	
	if(res.error != null){
		alert("AjaxError: " + res.error);
	} else {
	
		var data = res.value;
	
		currentdata = data;
		
		setStatus(data.date,data.sitenumber,data.rubrikname);
		setFrontImage(data.sourcefile,data.date,data.sitenumber);

	
		if(type == 0 || type == 1){
			setNavigationForArticle(data);
		} else if(type == 2){
			setNavigationForSite(data);
		}
		
		if(mode == "text")
		{
			dom.gI('ucContent_lbText').innerHTML = data.contenthtml;
			dom.gI('pdfframe').style.display = "none";
		}
		else 
		{
			loadPdfToIFrame(data.contenthtml);
		}
		
		dom.gI(hiddentypeid).value = type;
		dom.gI("specials").style.display = "none";
		dom.gI(hiddenspecialid).value = "False";
		
	}
}


/* this function loads a pdf which is not stored in database */
function showSpecialSite(mode,pdfperfile,datum,seite,frontimage)
{
	var iframe = dom.gI("pdfframe");
	
	var img = dom.gI("pdfpreview" + seite);
	var text = "";
	

	if(iframe != null){
	
		if(pdfperfile > 1){
			iframe.src = "pdfmerge.aspx?site=" + seite + "&file=" + frontimage.replace(".jpg",".pdf").replace(".qxd",".pdf").replace("/jpg/","/pdf/") + "&date=" + datum;
		} else {
			iframe.src = img.src.replace(".jpg",".pdf").replace("/jpg/","/pdf/");
		}
		
	}

		
	setFrontImage(frontimage,datum,seite);
	setStatus(datum,seite,"");
	setNavigation(mode,pdfperfile,seite,datum);
	

	if(mode == "pdf"){
			setSelectedPdf("pdf" + seite);
	}
	
}


/* adds the text to the content */
function setTextAsContent(txt){

	var content = dom.gI('ucContent_lbText');

	if(content != null){
		//txt = txt.replace(/src=\"/gi,"src=\"http://www.volksblatt.li/volksblatt_archiv/bilder/" + y + "/" + m + "/" + d + "/");
		content.innerHTML = txt;
	}	
		

}


var lastContent;

/* adds the pdf to the content */
function setPdfAsContent(txt){
	
	if(txt == lastContent)
		return;
		
	var content = dom.gI('ucContent_lbText');
	
	if(content != null){

		content.innerHTML = txt;
		neuAufbau();
		lastContent = txt;
	}	
	
}



/* sets the status of root*/
function setStatus(datum,seite,kategorie){
	
	var status = dom.gI('lblStatus');
	var hstatus = dom.gI('hiddenStatus');
	var statusleft = dom.gI('ucListing_lblVerzDate');
	var hstatusleft = dom.gI('ucListing_hiddenVerzDate');
	
	if(statusleft != null && hstatusleft != null){
		statusleft.innerHTML = datum; // set status immedietaly
		hstatusleft.value = datum; 
	}
}


/* sets the frontimage */
function setFrontImage(filename,datum,sitenr){

	var frontimg = dom.gI('ucFront_imgFront');
	var currdate = dom.gI('frontlink');
	var hfront = dom.gI('ucFront_hiddenFront');
	var hfrontlink = dom.gI('ucFront_hiddenFrontLink');
	var frontstatus = dom.gI("frontpaperstatus");
	var backfront = dom.gI("backfront");
	if(frontstatus != null) frontstatus.innerHTML = "S. " + sitenr;
	
	if(backfront != null)
	{
	
		if(currentdata.pdfpersite == 2){
			backfront.style.backgroundImage = "url(grafik/backgrounds/seite_2.gif)";
			frontimg.className = "frontimgmulti";
			
			dom.gI("ucFront_hiddenBackImage").value = backfront.style.backgroundImage;
			dom.gI("ucFront_hiddenFrontCss").value = frontimg.className;
		} else {
		
			backfront.style.backgroundImage = "url(grafik/backgrounds/seite_1.gif)";
			frontimg.className = "frontimg";
			
			dom.gI("ucFront_hiddenBackImage").value = backfront.style.backgroundImage;
			dom.gI("ucFront_hiddenFrontCss").value = frontimg.className;
		
		}
	
	}
	
	var datearr = datum.split('.');
	
	var d = datearr[0];
	var m = datearr[1];
	var y = datearr[2];
	
	if(y < 2004){
		var arr = filename.split('_');
		filename = "";
		arr[arr.length-1] = arr[arr.length-1].split('.')[0].substring(0,7);
		for(var i=0;i<arr.length;i++){
			filename += arr[i];
			if(i<arr.length-1)
				filename += "_";
			}
			
		filename += ".qxd";
	}
	
	var path = imagepath + y + "/" + m + "/" + d + "/jpg/" +  filename.replace(/.qxd/i,".jpg");
	//var link = imagepath + y + "/" + m + "/" + d + "/pdf/" +  filename.replace(/.qxd/i,".pdf").replace(/.jpg/i,".pdf");
	var link = "fullscreen.aspx?date=" + datum + "&site=" + sitenr;
	
	if(currentdata.pdfpersite == 2)
		link = getPopupLink();
	
	if(frontimg != null && hfront != null){
		frontimg.src = path; 
		hfront.value = path;
	}
		
	//if(dom.gI("hiddenLoggedIn").value == "True" || dom.gI("hiddenFreeDate").value == dom.gI("hiddenCurrDate").value){
			if(currdate != null && hfrontlink != null)
			{
				currdate.href = "javascript:popup('" + link + "','pdfvollbild');"; 
				hfrontlink.value = link;
			}
	/*}else {
		currdate.href = "#"; 
		hfrontlink.value = "#";
	}*/

}



/* this function sets the values for the navigationbar on top of content */
function setNavigationForArticle(curr)
{
	

	var ldiv,rdiv;
	
	var ldiv = dom.gI("leftarrow");
	var rdiv = dom.gI("rightarrow");
	
	ldiv.innerHTML = "";
	rdiv.innerHTML = "";
	
	if(curr.previous != null && curr.next != null)
		dom.gI("navigationtable").display = "block";
		
	// set status
	var middle = dom.gI("navstatusmiddle");
	
	if(middle != null)
		middle.innerHTML = "Seite " + formatNumber(curr.sitenumber);

	if(curr.previous.articleId != null)
	{
		ldiv.innerHTML = "<img  class=arrowleft alt=\"vorheriger Artikel\" src=\"grafik/buttons/pfeil_links_off.gif\" onmousedown=\"proShowArticle(" + curr.previous.articleId + ")\"  onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\">";
	} else {
		ldiv.innerHTML = "";
	}
	
	if(curr.next.articleId != null)
	{
		var nextid = curr.next.articleId;
		if(isrubricselected) nextid = curr.articleId;
		
		rdiv.innerHTML = "<img  class=arrowright alt=\"naechster Artikel\" src=\"grafik/buttons/pfeil_rechts_off.gif\" onmousedown=\"proShowArticle(" + nextid + ")\"  onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\">";
	}
	
	// save values of navigationbar into hidden fields, to get them not lost after postback	
	dom.gI("ucContent_hiddennavleft").value = "";
	dom.gI("ucContent_hiddennavright").value = "";
	dom.gI("ucContent_hiddenfuncleft").value = "";
	dom.gI("ucContent_hiddenfuncright").value = "";
	
	//dom.gI("ucContent_hiddennavleft").value = dom.gI("navstatusleft").innerHTML;
	dom.gI("ucContent_hiddennavright").value = middle.innerHTML;
	dom.gI("ucContent_hiddenfuncleft").value = "proShowArticle(" + curr.previous.articleId + ")";
	dom.gI("ucContent_hiddenfuncright").value = "proShowArticle(" + curr.next.articleId + ")";
	
	//setSelectedDivInListing(curr.articleId,curr.rubricId);
	
}

/* this function sets the values for the navigationbar on top of content */
function setNavigationForSite(curr)
{

	//alert("set nav for " + curr.sitenumber + " pdfpersite: " + curr.pdfpersite + "next.sitenumber:" + curr.next.sitenumber);
	var lfunc,rfunc;
	//alert("l:" + curr.previous.sitenumber + " curr:" + curr.sitenumber + " r:" + curr.next.sitenumber);
	dom.gI("navigationtable").display = "block";
	
	// set status
	var middle = dom.gI("navstatusmiddle");
	
	if(middle != null){
	
		if(curr.pdfpersite == 2){
			middle.className = "navstatusmiddlepdf";	
			
	
			if(curr.sitenumber%2 == 0)
				middle.innerHTML = "Seite " + "" +  formatNumber(curr.sitenumber) + " - " + "" + formatNumber(++curr.sitenumber);
			else
				middle.innerHTML = "Seite " + "" + formatNumber(curr.sitenumber - 1) + " - " + "" + formatNumber(curr.sitenumber);
		 } else {
			middle.innerHTML = "Seite " + formatNumber(curr.sitenumber);
		 }
	}
		
	// set links		
	if(curr.previous.sitenumber != "")
	{
		lfunc = "proShowSite('" + curr.mode + "'," + curr.pdfpersite + ",'" + curr.previous.siteId + "','" + curr.previous.date + "'," + curr.previous.sitenumber + ",'" + curr.previous.sourcefile + "')";
		var div = dom.gI("leftarrow");
		div.style.display = "block";
		div.innerHTML = "<a href=\"javascript:" + lfunc + "\"><img border=0  class=arrowleft alt=\"vorherige Seite\" src=\"grafik/buttons/pfeil_links_off.gif\"  onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\"></a>";
	} 
	else
	{
		dom.gI("leftarrow").style.display = "none";
	}
	
	if(curr.next.sitenumber != "")
	{
		
		rfunc = "proShowSite('" + curr.mode + "'," + curr.pdfpersite + ",'" + curr.next.siteId + "','" + curr.next.date + "'," + curr.next.sitenumber + ",'" + curr.next.sourcefile + "')";
		var div = dom.gI("rightarrow");
		div.style.display = "block";
		div.innerHTML = "<a href=\"javascript:" + rfunc + "\"><img border=0 class=arrowright alt=\"nächste Seite\" src=\"grafik/buttons/pfeil_rechts_off.gif\" onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\"></a>";
	}
	else
	{
		dom.gI("rightarrow").style.display = "none";
	}
		
	// save values of navigationbar into hidden fields, to get them not lost after postback	
	dom.gI("ucContent_hiddennavleft").value = "";
	dom.gI("ucContent_hiddennavright").value = "";
	dom.gI("ucContent_hiddenfuncleft").value = "";
	dom.gI("ucContent_hiddenfuncright").value = "";
	
	//dom.gI("ucContent_hiddennavleft").value = dom.gI("navstatusleft").innerHTML;
	dom.gI("ucContent_hiddennavright").value = middle.innerHTML;
	dom.gI("ucContent_hiddenfuncleft").value = lfunc;
	dom.gI("ucContent_hiddenfuncright").value = rfunc;
}

/* this method looks if hiddenfields for the navigationbar do have values. if so add them to navigationbar */
function resetNavigation()
{
	var leftstatus = dom.gI("ucContent_hiddennavleft").value;
	var rightstatus = dom.gI("ucContent_hiddennavright").value;
	var leftfunc = dom.gI("ucContent_hiddenfuncleft").value;
	var rightfunc = dom.gI("ucContent_hiddenfuncright").value;
	
	
	if(leftstatus != "")
	{
		dom.gI("navstatusleft").innerHTML = leftstatus;
	}

	dom.gI("navstatusmiddle").innerHTML = rightstatus;
	
	
	if(leftfunc != "")
	{
		dom.gI("leftarrow").innerHTML = "<a href=\"javascript:" + leftfunc +"\"><img  class=arrowleft border=0 alt=\"vorherige Seite\" src=\"grafik/buttons/pfeil_links_off.gif\"   onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\"></a>";
	}
	
	if(rightfunc != "")
	{	
		dom.gI("rightarrow").innerHTML = "<a href=\"javascript:" + rightfunc + "\"><img  class=arrowright  border=0 alt=\"nächste Seite\" src=\"grafik/buttons/pfeil_rechts_off.gif\"   onmouseover=\"overButton(this)\" onmouseout=\"outButton(this)\"></a>";
	}
	
}

function getPopupLink()
{
	var pdfperfile = 1;
	var date;
	var sitenr;
	var filename;
	
	if(currentdata != null)
	{
		pdfperfile = currentdata.pdfpersite;
		date = currentdata.date;
		sitenr = currentdata.sitenumber;
		filename = currentdata.sourcefile.replace(".qxd",".pdf");
	}
	
	var link = "fullscreen.aspx?site=" + sitenr + "&date=" + date + "&pdfpersite=" +  pdfperfile;
	//popup(link);
	
	return link;
	
}



/* set backgroundcolor of selected pdf at the left side */

function setSelectedPdf(divid)
{

	// get hidden field where state is saved and sitenumber
	var hidden = dom.gI("ucListing_hiddenSelected");
	var nr = divid.replace("pdf","");

	// after postback
	if(divid == "")
	{
		// get previewdiv
		var div = dom.gI(hidden.value);
		
		
		// get sitenumber
		nr = hidden.value.replace("pdf","");
	
		// if div exists mark it
		if(div != null){
		
			divid = div.id;
			
			// if its a pdfpreview
			if(div.id.indexOf("pdf") >= 0){
				
				// if its not already selected (has not css for selected items), select it
				if(div.className.indexOf("_sel") < 0)
					div.className = div.className + "_sel";
				
					// if pdfmode is twosided also select neighboursite
					if(dom.gI("ucListing_hiddenPdfMode").value == "2"){
						// if its straight
						if(nr%2==0){
							// select next site too
							var nextdiv = dom.gI("pdf" + (++nr));
							if(nextdiv)
								nextdiv.className = nextdiv.className + "_sel";
						} else {
							// else select previous site too
							var prediv = dom.gI("pdf" + (--nr));
							if(prediv)
								prediv.className = prediv.className + "_sel";
						}
					}	
			}
		}
		
	} else {
		
		// when selected directly
		var pdfmode = "1";
		
		// get pdfmode (global currentdata has been set further in function proLoadContent)
		if(currentdata != null){
			pdfmode = currentdata.pdfpersite;	
		} else {
			pdfmode = dom.gI("ucListing_hiddenPdfMode").value;
		}
		
		// get pdfpreview
		var div = dom.gI(divid);
		
		// if it exists
		if(div != null){
		
			// colourize it
			div.className = div.className + "_sel";
			// if twosided pdfmode
			if(pdfmode == "2"){
				
				if(nr%2==0){
					// get next site
					var nextdiv = dom.gI("pdf" + (++nr));
					if(nextdiv)
						nextdiv.className = nextdiv.className + "_sel";
				} else {
					// get previous site
					var prediv = dom.gI("pdf" + (--nr));
					if(prediv)
						prediv.className = prediv.className + "_sel";
				}
			}
		}
		
		// get last selected div
		var lastdiv = dom.gI(hidden.value);
		// get nr of last selected div
		nr = hidden.value.replace("pdf","");
		
		// remove colour of pdfpreview, unselect it
		if(lastdiv != null)
			lastdiv.className = lastdiv.className.replace("_sel","");
			
			// if twosided pdfmode
			if(pdfmode == "2"){
		
				if(nr%2==0){
					// deselect next site
					var nextdiv = dom.gI("pdf" + (++nr));
					if(nextdiv)
						nextdiv.className = nextdiv.className.replace("_sel","");
					
				} else {
					// deselect previous site
					var prediv = dom.gI("pdf" + (--nr));
					if(prediv)
						prediv.className = prediv.className.replace("_sel","");
				}
				
			}
			
			

		// save currently selected site
		hidden.value = divid;
		
	}
	
	

	// scroll listing
	var m = 191;
	var start = 110;
	if(dom.gI("ucListing_hiddenPdfMode").value == "2"){
		start = 0;
		m = 95;
		
		if(sitenr == 1)
			start = 0;
		if(sitenr%2 != 0)
			sitenr--;
	}
	var sitenr = divid.substring(3);
	var s = start + ((sitenr-1)*m);

var scrolldiv = dom.gI("sublistingdiv");
	scrolldiv.scrollTop = start + ((sitenr-1)*m);


}

/* this method sets another color of currently selected article */
function setSelectedArticle(aid){

	var div = dom.gI("a"  + aid);
	if(div != null){
		setSelected(div,"ucListing_hiddenSelected","r");
	} 
}

/* this method sets another color of currently selected rubric */
function setSelectedRubric(rid){

	var div = dom.gI("r" + rid);
	if(div != null)
		setSelected(div,"ucListing_hiddenSelected","r");
		
	
}

function proGetNavigationForArticle(articleId,sitenr)
{
	VolksblattArchiv.classes.AjaxHelper.getNavigation2(articleId,sitenr,cbGetNavigationForArticle);
	//VolksblattArchiv.classes.AjaxHelper.foo(articleId,cbGetNavigationForArticle);
	
}

function cbGetNavigationForArticle(res){

	if(res.error == null)
		setNavigationForArticle(res.value);
	else
		alert(res.error);
}

function proGetNavigationForSite(mode,pdfperfile,sitenr)
{
	VolksblattArchiv.classes.AjaxHelper.getNavigationForSite(mode,pdfperfile,sitenr,cbGetNavigationForSite);
}

function cbGetNavigationForSite(res){

	if(res.error == null)
		setNavigationForSite(res.value);
	else
		alert(res.error);
}


/* deprecated, used */
function setNavigation(mode,pdfperfile,sitenr,datum)
{
	VolksblattArchiv.classes.AjaxHelper.getNavigation(mode,pdfperfile,sitenr,datum,cbSetNavigation);	
}


/* CALLBACK of setNavigation */
function cbSetNavigation(res)
{
	// error
	if(res.error != null) 
		alert(res.error);
	
	// get dataobject
	var data = res.value;
	
	// set the navigationbar according to information in dataobject
	setNavigationForSite(data,data.previous,data.next);
			
}


function formatNumber(nr)
{
	var n = nr + "";
		if(n.length == 1)
			return "0" + "" + n;
	
	return n;
}

/* save ID of currently shown article */
function saveID(id,type)
{
	var hci = dom.gI("ucContent_hiddenCurrentID");
	var hcit = dom.gI("ucContent_hiddenCurrentIDType");
	
	if(hci != null) hci.value = id;
	if(hcit != null) hcit.value = type;
}


function showBigPdf(link){
	var pdfmode = dom.gI("ucListing_hiddenPdfMode").value;
	
	if(pdfmode == 1)
		popup(link);
	
	if(pdfmode == 2)
		popup(link.replace(".pdf","2.pdf"),'afadf');
}

function loadPdfToIFrame(url)
{
	var iframe = dom.gI("pdfframe");
	
	if(iframe != null){
		var content = dom.gI('ucContent_lbText');
		content.innerHTML = "";
		iframe.style.display = "block";
		iframe.src = url;
	}
}


