
/* overlay functions */
Object.extend(Element, {
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	}
});

function getPageSize() {
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight) {
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth) {	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function showOverlayLayer() {
		//document.getElementById('overlay-layer').style.display = 'block';
		var arrayPageSize = getPageSize();
		Element.setHeight('overlay-layer', arrayPageSize[1]);
		document.getElementById('overlay-layer').style.display = 'block';
}

function hideOverlayLayer() {
		document.getElementById('overlay-layer').style.display = 'none';
}

function toggleOverlayLayer() {
	if ( document.getElementById('overlay-layer').style.display == 'block' ) {
		hideOverlayLayer();
	} else {
		showOverlayLayer();
	}
}
/* END overlay functions */

function updateContentAndInfoBlock( pageNumber ) {
	$('col1_content').update('<img src="image/ajax/spinner.gif">');
	$('col3_content').update('<img src="image/ajax/spinner.gif">');
	showPage( pageNumber );
	showPageInfo( pageNumber );
}

function showPage( pageNumber ) {
	$('col1_content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'col1_content'},
	'index.php', {method: 'get', parameters: {request:'showPage', page: pageNumber }, evalScripts: true});
}

function showPageInfo( pageNumber ) {
	$('col3_content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'col3_content'},
	'index.php', {method: 'get', parameters: {request:'showInfoBlock', page: pageNumber } });
}

function createArticle( pageNumber, blockNumber, positionIndex ) {
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request:'createArticle', page: pageNumber, blockNumber: blockNumber, positionIndex: positionIndex } , evalScripts: true });
}

function addArticle( pageNumber, blockNumber, positionIndex ) {
	showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');

	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request:'addArticle', page: pageNumber, blockNumber: blockNumber, positionIndex: positionIndex } , evalScripts: true });
}


function saveArticle( pageNumber, blockNumber, positionIndex, returnToLibrary ) {
	parent.frames[0].FCK.UpdateLinkedField();
	var url = 'index.php';
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'post', parameters: {
												request:'saveArticle',
												page: pageNumber,
												blockNumber: blockNumber,
												positionIndex: positionIndex,
												cat_ID: $F('cat_ID'),
												art_Code: $F('art_Code'),
												art_Text: $F('art_Text'),
												articleID: $F('articleID'),
												returnToLibrary: returnToLibrary,
												translateArticleId: $F('translateArticleId')
										},
						evalScripts: true 
					}
	);
//	$('c-overlay-content').update('<img src="image/ajax/spinner.gif"> Textl&auml;nge wird &uuml;berpr&uuml;ft...');
}

function editArticle( pageNumber, blockNumber, positionIndex, articleID, returnToLibrary ) {
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	showOverlayLayer();
	
	var url = 'index.php';
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {
												request:'editArticle',
												page: pageNumber,
												blockNumber: blockNumber,
												positionIndex: positionIndex,
												articleID: articleID,
												returnToLibrary: returnToLibrary
										},
						evalScripts: true 
					}
	);
}

function insertArticleToPaper( pageNumber, blockNumber, positionIndex, articleID ) {
	showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request:'insertArticleToPaper', page: pageNumber, blockNumber: blockNumber, positionIndex: positionIndex, articleID: articleID }, evalScripts: true });
}

//todo reihenfolge checken!
function removeArticle( pageNumber, blockNumber, articleID, returnToLibrary, positionIndex ) {
	if( returnToLibrary != null) {		
		$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');		
		var ajax = new Ajax.Updater(
		{success: 'c-overlay-content'},
		'index.php', {
				method: 'get', 
				parameters: {
					request:'removeArticle', 
					page: pageNumber, 
					blockNumber: blockNumber, 
					positionIndex: positionIndex,
					articleID:articleID,
					returnToLibrary:returnToLibrary
				},
				evalScripts: true } 
		);
	}
	else {
		$('col1_content').update('<img src="image/ajax/spinner.gif">');
		$('col3_content').update('<img src="image/ajax/spinner.gif">');
		var ajax = new Ajax.Updater(
		{success: 'col1_content'},
		'index.php', {method: 'get', parameters: {request:'removeArticle', page: pageNumber, blockNumber: blockNumber, articleID: articleID }, evalScripts: true });
	}
}

function removeImage( pageNumber, blockNumber ) {
	$('col1_content').update('<img src="image/ajax/spinner.gif">');
	$('col3_content').update('<img src="image/ajax/spinner.gif">');

	var ajax = new Ajax.Updater(
	{success: 'col1_content'},
	'index.php', {method: 'get', parameters: {request:'removeImage', page: pageNumber, blockNumber: blockNumber },
				evalScripts: true });
}

function removeImageAndReloadPreview( pageNumber, blockNumber, positionIndex, articleId ) {
	$('percentageInformationDiv').update('<img src="image/ajax/spinner.gif">&nbsp;Vorschau wird geladen...');

	var ajax = new Ajax.Updater(
	{success: 'percentageInformationDiv'},
	'index.php', {method: 'get', parameters: {
					request:'removeImageAndReloadPreview', 
					page: pageNumber,
					blockNumber: blockNumber,
					positionIndex:positionIndex,
					articleId: articleId
					},
				evalScripts: true });
}

function deleteArticle( pageNumber, blockNumber, positionIndex, articleID ) {
//	showOverlayLayer();
//	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'row_' + articleID},
	'index.php', {method: 'get', parameters: {request:'deleteArticle', page: pageNumber, blockNumber: blockNumber, positionIndex: positionIndex, articleID: articleID }, evalScripts: true });
}

function checkValue( ) {
	  	var f = $F('cat_ID');
	  	if ( f == -1 ) {
	  		var newCat = prompt("Bitte geben Sie den Namen der neuen Artikel-Kategorie ein.","");
	  		if ( newCat == '' || newCat == null ) {
	  			select = document.getElementById('cat_ID');
				select.selectedIndex = 0;
	  		} else {
				var ajax = new Ajax.Updater(
				{success: 'cat_selector'},
				'index.php', {method: 'post', parameters: {request:'addCategory', cat_Name: newCat } });
	  		}
	  	}
}

function gallerySelector( pageNumber, blockNumber ) {
	showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request: 'showGallery', page:pageNumber, blockNumber: blockNumber }, evalScripts: true });
}


function insertImageToPaper( pageNumber, blockNumber, imageID ) {
	showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request: 'insertImageToPaper', page:pageNumber, blockNumber: blockNumber, imageID: imageID }, evalScripts: true });
}




function editHeader( domID, pageNumber, blockNumber, articleID, oldHeader ) {
		
	  	var f = $(domID).innerHTML;
  		var newHeader = prompt("Bitte geben Sie den neuen Text der Überschrift ein.", f);
  		if ( newHeader != '' && newHeader != null ) {
			$('col1_content').update('<img src="image/ajax/spinner.gif">');  			
			var ajax = new Ajax.Updater(
				{success: 'col1_content'},
				'index.php', {method: 'post', parameters: {
					request:'editHeader',
					pageNumber: pageNumber,
					blockNumber: blockNumber,
					articleID: articleID,
					newHeader: newHeader,
					oldHeader: oldHeader
					}
				,
				 evalScripts: true}
			);
  		}
}
//todo
function updateFillPercentage ( pageNumber, blockNumber, positionIndex, articleId, updateHidden ) {
	$('percentageInformationDiv').update('<img src="image/ajax/spinner.gif">&nbsp;Vorschau wird geladen');
	if( updateHidden == 1) {parent.frames[0].FCK.UpdateLinkedField()};
	var ajax = new Ajax.Updater(
	{success: 'percentageInformationDiv'},
	'index.php', {method: 'post', parameters: {
			request:'getFillStatus',
			art_Text:$F('art_Text'),
			pageNumber: pageNumber,
			blockNumber: blockNumber,
			positionIndex:positionIndex,
			articleId: articleId
	 }, evalScripts: true});
}

function postCroppedImage() {
	var x1 = $F('x1'); var x2 = $F('x2'); var y1 = $F('y1'); var y2 = $F('y2');	var w = $F('width'); var h = $F('height');
	var x1_2 = $F('x1_2'); var x2_2 = $F('x2_2'); var y1_2 = $F('y1_2'); var y2_2 = $F('y2_2');	var w_2 = $F('width_2'); var h_2 = $F('height_2');

	var page2 = $F('page2');
	var blockNumber=$F('blockNumber');
	var clientName = $F('clientname');

	$('upload-layer').update('<p><img src="image/ajax/ajax-loader.gif">&nbsp;Ihr Bild wird zurechtgeschnitten!</p><p><img src="image/overlay_bg.gif" height="250"></p>');//todo height is set with image ;-(
	var ajax = new Ajax.Updater(
	{success: 'upload-layer'},
	'index.php', {method: 'get', parameters: {
			request:'postCroppedImage',
			x1:x1,
			x2:x2,
			y1:y1,
			y2:y2,
			w:w,
			h:h,
			x1_2:x1_2,
			x2_2:x2_2,
			y1_2:y1_2,
			y2_2:y2_2,
			w_2:w_2,
			h_2:h_2,
			page:page2,
			blockNumber:blockNumber,
			clientName: clientName
	 }, evalScripts: true});
}

function showSettings( ) {
	showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request: 'showSettings' }, evalScripts: true });
}

function editSettingHeader( domID ) {

		$('footer_de').toggle();
		$('footer_de').update('<img src="image/ajax/spinner.gif"> Fu&szlig;zeile wird gespeichert...');
		$('footer_de_form').toggle();
		var newFooterText = $F('_' + domID);
		//alert( newFooterText );

		if ( newFooterText != '' && newFooterText != null ) {
			var ajax = new Ajax.Updater(
				{success: 'footer_de'},
				'index.php', {method: 'post', parameters: {
					request:'editSettingHeader',
					newFooterText: newFooterText
					}
				,
				 evalScripts: true}
			);
  		}

}

function toggleDisplayOption( catID ) {

	$('edit_display_button_' + catID).update('<img src="image/ajax/spinner.gif"> Einstellung wird gespeichert...');
	dummy2 = new Date(); dummy = dummy2.getTime();
	var ajax = new Ajax.Updater(
		{success: 'edit_display_button_' + catID},
		'index.php', {method: 'get', parameters: {
			request:'toggleDisplayOption',
			catID: catID,
			dummy: dummy
			}
		,
		 evalScripts: true}
	);
}

  String.prototype.linksTrim = function () {
    return (this.replace(/^\s+/,""));
  };
  String.prototype.rechtsTrim = function () {
    return (this.replace(/\s+$/,""));
  };
//kombiniert "leftTrim" und "rightTrim";
  String.prototype.basicTrim = function () {
    return (this.replace(/\s+$/,"").replace(/^\s+/,""));
  };

function saveCategoryName( catID ) {
	var newCatName = $F('_catname_' + catID);
	if (newCatName.basicTrim() == '')
	{
		alert ('Bitte geben Sie den neuen Namen der Kategorie ein.');
	}
	else 
	{
		$('cat_edit_wrapper_' + catID).update('<img src="image/ajax/spinner.gif" width="32" height="32"> Neuer Kategorie-Name wird gespeichert...<br>');

		var ajax = new Ajax.Updater(
			{success: 'cat_edit_wrapper_' + catID},
			'index.php', {method: 'post', parameters: {
				request:'updateCategoryName',
				catID: catID,
				newCatName: newCatName
				}
			,
			 evalScripts: true}
		);

	}
}

function submitSearch( pageNumber, blockNumber, positionIndex ) {
	var searchString = $F('search');
	if (searchString.basicTrim() == '')
	{
		alert ('Bitte geben Sie den Suchbegriff ein.');
	}
	else 
	{
		showOverlayLayer();
		$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');

		var ajax = new Ajax.Updater(
		{success: 'c-overlay-content'},
		'index.php', {method: 'get', parameters: {request:'searchArticles', page: pageNumber, blockNumber: blockNumber, positionIndex: positionIndex, search:searchString } , evalScripts: true });
	}
}



function toggleFooterForm() {
	$('footer_edit_button').toggle();$('footer_de').toggle();$('footer_de_form').toggle();
}

function toggleLogoUploadForm() {
	$('currentLogo').toggle();$('upload-layer').toggle();
}

	
function toggleCategoryEdit( catID ) {
	$('edit_catname_button_' + catID).toggle();
	$('edit_catname_form_' + catID).toggle();
}

function toggleWebsiteDisplay( papID ) {

	$('website_' + papID).update('<img src="image/ajax/spinner.gif"> Einstellung wird gespeichert...');
	var ajax = new Ajax.Updater(
		{success: 'website_' + papID},
		'index.php', {method: 'get', parameters: {
			request:'toggleWebsiteDisplay',
			papID: papID
			}
		, evalScripts: true});
}


function postCroppedLogo( ) {

	var x1 = $F('x1'); var y1 = $F('y1'); var w = $F('width'); var h = $F('height');
	$('currentLogo').toggle();
	$('upload-layer').toggle();
	$('currentLogo').update('<img src="image/ajax/spinner.gif">');

	var ajax = new Ajax.Updater(
	{success: 'currentLogo'},
	'index.php', {method: 'post', parameters: {
			request:'postCroppedLogo', 
			x1:x1,
			y1:y1,
			w:w,
			h:h
	 }, evalScripts: true});
}


function CreateCategoryAndMoveImageToGalleryCat( pageNumber, blockNumber, imageID ) {
	
	var gallCatID = Form.getInputs('imageCatForm','radio','newGalleryCategoryForImage').find(function(radio) { return radio.checked; }).value;
	var newGalleryCatName = $F('newGalleryCatName'); // textfeld
	
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request: 'CreateCategoryAndMoveImageToGalleryCat', catID: gallCatID, catName:newGalleryCatName, page:pageNumber, blockNumber: blockNumber, imageID: imageID }, evalScripts: true });
}

function UpdateImageInfo( imageID ) {

	var originalCatID = $F( 'ori_cat_ID_' + imageID );
	var newCatID = $F( 'cat_ID_' + imageID );
	
	var originalName = $F( 'ori_name_' + imageID );
	var newName = $F('img_name_' + imageID );

	$('info_' + imageID).update('<img src="image/ajax/spinner.gif">');


	var ajax = new Ajax.Updater(
	{success: 'info_' + imageID},
	'index.php', {method: 'get', parameters: {request: 'UpdateImageInfo', oriCatID: originalCatID, newCatID: newCatID, oriName: originalName, newName: newName , imageID: imageID }, evalScripts: true });

}

function deleteImageAndReloadGallery( imageID, pageNumber, blockNumber ) {
	//showOverlayLayer();
	$('c-overlay-content').update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'c-overlay-content'},
	'index.php', {method: 'get', parameters: {request: 'deleteImageAndReloadGallery', imageID: imageID, page:pageNumber, blockNumber: blockNumber }, evalScripts: true });
}


function DeleteImage( imageID ) {
	$('imgblock_' + imageID).update('<img src="image/ajax/spinner.gif">');
	var ajax = new Ajax.Updater(
	{success: 'imgblock_' + imageID},
	'index.php', {method: 'get', parameters: {request: 'deleteImage', imageID: imageID }, evalScripts: true });
}


function toggleImageCategoryEdit( catID ) {
	$('edit_catname_form_' + catID).toggle();
}

function UpdateImageCategoryName( catID ) {
	var newCatName = $F('_catname_' + catID);
	if (newCatName.basicTrim() == '')
	{
		alert ('Bitte geben Sie den neuen Namen der Kategorie ein.');
	}
	else 
	{
		$('cat_edit_wrapper_' + catID).update('<img src="image/ajax/spinner.gif"> Neuer Kategorie-Name wird gespeichert...<br>');

		var ajax = new Ajax.Updater(
			{success: 'cat_edit_wrapper_' + catID},
			'index.php', {method: 'post', parameters: {
				request:'UpdateImageCategoryName',
				catID: catID,
				newCatName: newCatName
				}
			,
			 evalScripts: true}
		);

	}
}

