var _LAST_POST_SUCCESSFULL = 1;

var _YEARS = {
	"1987" : {}, "1988" : {}, "1989" : {}, "1990" : {}, "1991" : {}, "1992" : {}, "1993" : {}, "1994" : {}, "1995" : {}, "1996" : {}, "1997" : {}, "1998" : {},
	"1999" : {}, "2001" : {}, "2002" : {}, "2003" : {}, "2004" : {}, "2005" : {}, "2006" : {}, "2007" : {}, "2008" : {}, "2009" : {}, "2010" : {}, "2011" : {},
	"2012" : {}, "2013" : {}, "2013" : {}, "2015" : {}, "2016" : {}, "2017" : {}, "2018" : {}, "2019" : {}, "2020" : {}, "2021" : {}, "2022" : {}, "2023" : {}
};

var _MONTHS = { "jan" : {}, "feb" : {}, "mar" : {}, "apr" : {}, "may" : {}, "jun" : {}, "jul" : {}, "aug" : {}, "sep" : {}, "oct" : {}, "nov" : {}, "dec" : {}};

var _ACCESS_LEVELS = {"member" : {}, "admin" : {}};

var googleTransliterateOptions = new Array();
/*
google.load("elements", "1", { packages: "transliteration"  });
*/
googleTransliterateOptions["hi"] = { sourceLanguage: 'en', destinationLanguage: ['hi'], shortcutKey: 'ctrl+g', transliterationEnabled: true };

var _IMAGE_PATH = "/images/site";

var currentLanguage = "english";

function toggle(element)
{
	if	(element.visible_ == false)
	{
		element.style.display = 'block';
		element.visible_ = true;
	}	
	else
	{
		element.style.display = 'none';
		element.visible_ = false;
	}

}



function Translator (descriptor)
{

	if (descriptor == undefined)
		return "UNDEFINED TRANSLATION";
	if (descriptor.trim == "")
		return "";
	if (translations[descriptor] != null)
		return translations[descriptor];
	else
	{
		if (_DEBUG_MODE)
			return "X" + descriptor + "X";
		else
			return descriptor;
	}
}


function deleteContent (content_id,title)
{
	if (confirm(Translator("really_delete") +  "'" + title + "'?"))
	{
		frm = document.createElement("form");
		$(frm).attr("method", "post");
		$(frm).attr("action", "");
		$(frm).append(new Input("hidden", "form_descriptor",{"value" : "delete"}));
		$(frm).append(new Input("hidden", "target_id", {"value" : content_id}));
		$("body").append(frm);
		frm.submit();
		

	}
	else
	{
		return false;
	}
}

function UserForm(action,values)
{
	
	values["text"] = 
			{
				english : 
				{
					title : "User",
					description : "", 
					long_text : ""
				}
			};

	var frm = new Form (action, values);
	
	if (!values["user_link"])
		$(frm).attr("action" , "/user");
	else
		$(frm).attr("action" , "/user/" + values["user_link"]);

	if (values["enable_login_input"])
	{
		frm.append(new Input("input","login", {"description" : "login", "ajax_reference": "user"}));
	}
	else
	{
		var loginTextWrapper = document.createElement("div");
		loginTextWrapper.className = "title";
		$(loginTextWrapper).css({"clear" : "both"});
		$(loginTextWrapper).append (document.createTextNode(values["login"]));
	}
	

	//indicates that this is an edit form AODT=RÄ¤>>ÄP...
	if (values["access_level"] == true)
	{
		frm.append(new Input("select","access_level", {description :"access_level",  value : "member", select_options : _ACCESS_LEVELS}));
	}
	else
	{
		var loginDiv = document.createElement("div");
		loginDiv.className = "title";
		$(loginDiv).css({"float" : "left", "clear" : "both"});
		$(loginDiv).append([
			document.createTextNode(Translator ("login") + " : " + values["login"]),
			document.createElement("br"),
			document.createTextNode(Translator ("access_level") + " : " + values["access_level"])
			]);
		frm.append(loginDiv);
	}
	frm.append(new Input("password","password", { description : "password", value : values["password"], ajax_reference : false}));
	frm.append(new Input("password","password_repeate",  { description :  "password_repeate", value: values["password"],ajax_reference : false}));

	frm.append(new Input("input","name", { description : "name", value : values["name"],ajax_reference : "user"}));
	frm.append(new Input("input","email", { description : "email", value : values["email"], ajax_reference : "user"}));

	frm.append(new Input("hidden","type",{value : "user"})); //defines what content type to be used
	frm.append (new SubmitImage(frm,Translator("send")));
	var descriptionText = document.createElement("div");
	descriptionText.className = "title";
	$(descriptionText).css({"clear": "both"})
	$(descriptionText).append(document.createTextNode(Translator("description")));
	frm.append (descriptionText);
	frm.append (frm.getInput("description/english"));
	
//	alert (frm.getInput("description/english"));	

	$(frm.language_wrapper).css({"display" : "none"});
	$(frm).append (frm.language_wrapper);
	
	frm.refresh();
	$(frm).submit(function () {alert ("eh...");});
	return frm;
}

function EmbeddedForm(action,values)
{
	var frm = new Form (action, values);
	frm.append(new Input("checkbox","is_public", { description : "public", value : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords", { description : "keywords", value : values["keywords"], ajax_reference : "content"}));
	frm.append(new Input("input", "source_url",  { description : "video_url", value : values["source_url"],ajax_reference : "embedded"}));

	frm.append(new Input("hidden","type",{ value : "embedded"})); //defines what content type to be used
	frm.append (new SubmitImage(frm,Translator("send")));
	$(frm).append (frm.language_wrapper);

	frm.refresh(); 
	return frm;
}

function EventForm(action,values)
{
	
	var frm = new Form (action, values);

	frm.append(new Input("checkbox","is_public",{"description" : "public", "value" : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords",{"description" : "keywords", "value" : values["keywords"], "ajax_reference" : "content"}));

	//frm.append(new Input("select","year","year", values["year"], _YEARS));
	frm.append(new Input("date","start_date",{"description" : "start_date", "value" :  values["start_date"],"ajax_reference" : "event"}));
	frm.append(new Input("date","end_date",{"description" : "end_date", "value" : values["end_date"], "ajax_reference" : "event"}));

	frm.append(new Input("select","region",{"description" : "region_id", "value" : values["region"], "select_options" : regions}));
	frm.append(new Input("hidden","type", {"value" : "event"})); //defines what content type to be used
	frm.append (new SubmitImage(frm,Translator("send")));
	$(frm).append (frm.language_wrapper);

	frm.refresh();
	return frm;
}

function ImageSelector (type, frm, clickFunction)
{
	var selectCustomImage = document.createElement("img");
	selectCustomImage.className = "selectCustomImage";
	selectCustomImage.customImageUpload = "<undefined></undefined>";
	selectCustomImage.type = type;
	selectCustomImage.frm = frm;
	selectCustomImage.clickFunction = clickFunction;
	
	//this.clickFunction();

	if (type == "image") 
	{
		if (frm.thumbnail)
			selectCustomImage.src = frm.thumbnail;
		else
			selectCustomImage.src = _IMAGE_PATH + "/em-ekta-parishad-logo-black.jpg";
			selectCustomImage.alt = Translator ("select_image_to_upload");
	}
	else if (type == "icon1")
	{
		selectCustomImage.src = _IMAGE_PATH + "/article-icon.png";
	}
	else if (type == "icon2")
	{
		selectCustomImage.src = _IMAGE_PATH + "/pdf-icon.png";
	}


	$(selectCustomImage).click (function () 
	{
		this.clickFunction();
		this.frm.getInput("image").value = this.type;
		this.select();
	});
	
	selectCustomImage.select = function ()
	{
		$(this.frm.selected).css("border-style" , "none");
		$(this).css({"border" : "2px", "border-color" : "#000000", "border-style" : "solid" });
		this.frm.selected = this;
	}

	return selectCustomImage;
}

function PressForm(action,values)
{
	var frm = new Form (action, values, true);


	$(frm).attr("enctype" , "multipart/form-data");
	$(frm).attr("encoding", "multipart/form-data");		//IE specific

	frm.append(new Input("checkbox","is_public", { description : "public", value : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords",  { description : "keywords", value : values["keywords"], ajax_reference : "content"}));
	frm.append(new Input("input","source",  { description : "source", value : values["source"], ajax_reference : "press"}));
	frm.append(new Input("select","region",  { description : "region_id", value : values["region"], select_options : regions}));
	frm.append(new Input("select","original_language",  { description : "original_language", value : values["original_language"], select_options : jQuery.extend(true, {}, _AVAILABLE_LANGUAGES )}));
	frm.append(new Input("input","copyright", { description : "copyright", value : values["copyright"],ajax_reference : "press"}));
	frm.append(new Input("date","publication_date", { description : "publication_date", value : values["publication_date"], ajax_reference : "press"}));

	frm.append(new Input("hidden","type", {value : "press"})); //defines what content type to be used
	frm.append(new Input("hidden","MAX_FILE_SIZE",{value : _MAX_FILE_SIZE}));

	
//------------------------------ IMAGE SELECTION ---------------------------------------------	
	var selectIconWrapper = document.createElement("div");		//wrapps all functionality
	var customImageImage = "/images/site/article-icon.png";		//select a custom 

	if (!values["image"])
		values["image"] = "icon1";
	
	var imageInput = new Input("hidden","image", {value : values["image"]}); //contains the value of the selected thumbnail

	frm.append(imageInput);

	var customImageUpload = new Input("file","image_file", { description : "file"});
	var selectIconTitle = document.createElement("div");	selectIconTitle.className = "smallTitle"; $(selectIconTitle).css({"width" : "350px", "margin-top" : "20px"}); $(selectIconTitle).append (document.createTextNode(Translator("select_thumbnail")));
	frm.imageInput = imageInput;

	$(selectIconWrapper).append(selectIconTitle);
	$(selectIconWrapper).css({"float" : "left", "clear" : "both", "overflow" : "hidden", "width" : "350px"});

	frm.thumbnail = values ["thumbnail"] != "" ? values ["thumbnail"] : false;

	if (values["image"] != "image")
		$(customImageUpload).hide();
	
	var selectIconImages = new Array (
		ImageSelector ("image", frm, function () 
		{
			$(this.customImageUpload).show();
			this.frm.imageInput.npt.value = "image";
		}),
		ImageSelector ("icon1", frm, function () 
		{
			$(this.customImageUpload).hide();
			this.frm.imageInput.npt.value = "icon1";
		}),
		ImageSelector ("icon2", frm, function () 
		{ 
			$(this.customImageUpload).hide();
			this.frm.imageInput.npt.value = "icon2";
		})
	);
	
	for (var i = 0; i < selectIconImages.length; i++)
	{
		selectIconImages[i].customImageUpload = customImageUpload;
		
		if (values["image"] == selectIconImages[i].type)
		{
			selectIconImages[i].select();
			//alert (selectThumbnailImages[i].type + " " + values["image"]);
		}
	}
	$(selectIconWrapper).append(selectIconImages);
	
	frm.append (selectIconWrapper);
	frm.append (customImageUpload);

//-------------------------------------- HAS DOCUMENT SELECTION
	var hasDocumentCheckbox = new Input("checkbox","has_document", { description : "attach_document", value: values["has_document"]});
	var documentUpload = new Input("file","document_file", {value : "file"});
	var selectDocumentTitle = document.createElement("div");	selectDocumentTitle.className = "title"; $(selectDocumentTitle).css({"width" : "350px", "margin-top" : "50px"}); $(selectDocumentTitle).append (document.createTextNode(Translator("select_document")));
	frm.append (selectDocumentTitle);
	
	if (values["has_document"] == 1)
	{

		hasDocumentCheckbox.npt.disabled = true;
	}
	else
	{
		$(documentUpload).css ({"display" : "none"});

		$(hasDocumentCheckbox.npt).click ( function () 
		{
			if (this.checked == true)
			{
				$(documentUpload).show();
				this.value = "1";
			}
			else
			{
				$(documentUpload).hide();
				this.value = "0";
			}
			
		});
	}
	
	frm.append (hasDocumentCheckbox);
	frm.append (documentUpload);

	frm.append (new SubmitImage(frm,Translator("send")));
	$(frm).append (frm.language_wrapper);
	
	frm.refresh();
	
	return frm;
}

/**
* The MediaEditForm us solely used for the EDIT of an existing media item!
*/
function MediaEditForm(action,values)
{
	var frm = new Form (action, values);
	frm.append(new Input("checkbox","is_public",  { description : "public", value : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords", { description : "keywords", value : values["keywords"], ajax_reference :"content"}));
	frm.append(new Input("input","copyright", { description : "copyright", value : values["copyright"], ajax_reference : "media"}));
	frm.append(new Input("hidden","related_id", {value : values["related_id"]}));	//what content (eg event) does this item belong to
	frm.append(new Input("hidden","type", {value : "media"})); //defines what content type to be used


	frm.append (new SubmitImage(frm,Translator("send")));
	$(frm).append (frm.language_wrapper);
	
	frm.refresh();
	return frm;
}

/** 
* The MediaForm us solely used for the creation of media UPLOADS!
*/
function MediaForm(action,values)
{
	MediaForm.prototype.counter++;
	values ["hide_bottom_send"] = true;
	var frm = new Form (action, values,null);

	$(frm).attr("id","media_" + this.counter)
	$(frm).attr("target", "ajaxIframe");
	$(frm).attr("enctype" , "multipart/form-data");
	$(frm).attr("encoding", "multipart/form-data");		//IE specific
	

	var mediaUploadTitleWrapper = document.createElement("div"); mediaUploadTitleWrapper.className = "title";
	
	$(mediaUploadTitleWrapper).append(document.createTextNode(Translator ("upload") + " " + Translator("file") + " " + MediaForm.prototype.counter + " : "));
	$(mediaUploadTitleWrapper).css({"margin-top" : "30px"});
	$(frm).prepend(mediaUploadTitleWrapper);

	frm.append(new Input("checkbox","is_public",  { description : "public", value : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords", { description : "keywords", value : values["keywords"], ajax_reference :"content"}));
	frm.append(new Input("input","copyright", { description : "copyright", value : values["copyright"], ajax_reference : "media"}));
	frm.append(new Input("hidden","related_id", {value : values["related_id"]}));	//what content (eg event) does this item belong to
	frm.append(new Input("hidden","type", {value : "media"})); //defines what content type to be used
	frm.append(new Input("hidden","ajax_form", {value : "yes"}));
	frm.append(new Input("hidden","method_name", {value : "media_upload"}));
	frm.append(new Input("hidden","MAX_FILE_SIZE", {value :_MAX_FILE_SIZE}));

	fileInputContainer = new Input("file","file_name",{ description : "file"});

	$(fileInputContainer.npt).attr("accept", _MIME_TYPES);

	frm.fileInput = fileInputContainer.npt;	

	frm.append(fileInputContainer);

	$(frm).append (frm.language_wrapper);

	this.formList.push(frm);

	frm.refresh();
	return frm;
	
}

MediaForm.prototype.counter = 0;
MediaForm.prototype.formList = new Array();
	
function PageForm(action,values)
{
	var frm = new Form (action, values, true);

	frm.append(new Input("checkbox","is_public",{ description : "public", value : values["is_public"] == "0" ? false : true}));
	frm.append(new Input("input","keywords",{ description : "keywords",value : values["keywords"], ajax_reference : "content"}));
	frm.append(new Input("hidden","type", { value : "page" })); //defines what content type to be used

	frm.append (new SubmitImage(frm,Translator("send")));
	$(frm).append (frm.language_wrapper);

	frm.refresh();
	return frm;

}


String.prototype.indent = function (spaceCount)
{
	var inString = (!this ? "": this);
	var spaces = "";

	for (var i = 0; i < spaceCount; i++)
		spaces += " - ";

	return spaces + inString;
}





/**
* Creates a gray box!
*/
function GrayBox ()
{
	var displayDiv = document.createElement("div");

	displayDiv.className = "grayBoxDisplayWrapper";
	$(displayDiv).css("margin-top", "20px");
	var topDisplayDiv =  document.createElement("div"); topDisplayDiv.className = "grayBoxTopDisplayDiv";
	var bottomDisplayDiv  = document.createElement("div"); bottomDisplayDiv.className = "grayBoxBottomDisplayDiv";
	var contentDisplayDiv  = document.createElement("div"); contentDisplayDiv.className = "grayBoxContentDisplayDiv";
	displayDiv.content =  contentDisplayDiv;
	$(displayDiv).append (topDisplayDiv);
	$(displayDiv).append (contentDisplayDiv);
	$(displayDiv).append (bottomDisplayDiv);
	
	return displayDiv;
}


/**
* Creates a black open/close arrow button
* @param DOM-Element wrapperToBeClosed The object to be hidden/shown
* @param string imageId If set, the function will use the imageObject instead
* @return DOM-Image-Element
*/
function OpenCloseImage (wrapperToBeClosed,imageObject)
{
	var showHideTextFieldsImage;

	if (imageObject)
		showHideTextFieldsImage = imageObject;
	else
		showHideTextFieldsImage = document.createElement("img");	
	

	$(showHideTextFieldsImage).css ({"margin-right": "10px", "float" : "left", "cursor" : "pointer"});
	if (wrapperToBeClosed.style.display == "block")
	{
		showHideTextFieldsImage.src = _IMAGE_PATH + "/em-arrow-transp-black-open.gif";	
		showHideTextFieldsImage.visible = true;
	}
	else
	{
		showHideTextFieldsImage.src = _IMAGE_PATH + "/em-arrow-transp-black-close.gif";	
		showHideTextFieldsImage.visible = false;
	}

	showHideTextFieldsImage.wrapperToBeClosed = wrapperToBeClosed;

	$(showHideTextFieldsImage).click ( function ()
	{
		if (this.visible)
		{
			this.src = _IMAGE_PATH + "/em-arrow-transp-black-close.gif"
			this.visible = false;
			//$(this.textInputWrapper).hide();
			this.wrapperToBeClosed.style.display = "none";
		}
		else
		{
			this.src = _IMAGE_PATH + "/em-arrow-transp-black-open.gif"
			this.visible = true;
			//$(this.textInputWrapper).show();
			this.wrapperToBeClosed.style.display = "block";
		}
	});

	return showHideTextFieldsImage;
}

/**
* Creates a light box-like message window
*/
function InfoWindow (type, title, message)
{

	var wrapperDiv = document.createElement("div");

	var lightBox = document.createElement("div");
	wrapperDiv.lightBox = lightBox;
		
	wrapperDiv.hide = function ()
	{
		$(this).css("display","none");
		$(this.lightBox).css("display","none");
	}

	wrapperDiv.body = function (message)
	{
		wrapperDiv.bodyDiv.innerHTML = "";
		$(wrapperDiv.bodyDiv).append (document.createTextNode (message));		
	}

	var titleDiv = document.createElement("div");
	titleDiv.className = "messageWindowTitle";

	var bodyDiv = document.createElement("div");
	bodyDiv.className = "messageWindowBody";
	wrapperDiv.bodyDiv = bodyDiv;
	
	wrapperDiv.body (message);

	var closeLink = document.createElement("div"); closeLink.className="messageWindowCloseLink";	closeLink.window = wrapperDiv;
	$(closeLink).append(document.createTextNode("X"));	

	$(closeLink).click ( function ()
	{
		this.window.hide();
	});

	var logoImage = document.createElement("img"); logoImage.src = _IMAGE_PATH + "/em-error-msg-box-logo-blue.jpg"; $(logoImage).css({"float" : "left" , "margin-right" : "10px"}); logoImage.alt="logo";
	
	var messageTitleDiv = document.createElement ("div");
	messageTitleDiv.className = "messageWindowTitleText";
	$(messageTitleDiv).append (document.createTextNode (title));

	$(titleDiv).append (logoImage);
	$(titleDiv).append (messageTitleDiv);
	$(titleDiv).append (closeLink);


	
	$(wrapperDiv).css ( 
	{
		'position' : 'absolute',
		'top' : (200 + (infoWindowCounter % 10) * 30) + 'px',
		'left' : (300 + (infoWindowCounter % 10) * 30) + 'px',
		'display' : 'block',
		'z-index' : infoWindowCounter*2 + 211
	});

	lightBox.className = "lightBox";

	switch (type)
	{
		case "error":
			$(lightBox).css({"z-index" : infoWindowCounter*2 + 210,
							 "height" : document.documentElement.scrollHeight});
		break;
		case "message":
			$(lightBox).css({"z-index" : infoWindowCounter*2 + 210,
							 "background-color" : "#FFFFFF",
							 "height" : document.documentElement.scrollHeight});
		break;

	}

	
	
	infoWindowCounter++;

	$(wrapperDiv).append(titleDiv);
	$(wrapperDiv).append(bodyDiv);

	$("body").append(lightBox);
	$("body").append(wrapperDiv);

	return wrapperDiv;


}

function BlueButton (text,classPostFix)
{
	var npt = document.createElement("div"); npt.className = "buttonWrapper";
	if (!classPostFix)
		classPostFix = "DarkGray";
	
	var nptLeftImage = document.createElement("div"); nptLeftImage.className = "buttonLeftBlueOn" + classPostFix;
	var nptButton = document.createElement("div"); nptButton.className = "buttonContentBlueOn" + classPostFix;
	var nptRightImage = document.createElement("div"); nptRightImage.className = "buttonRightBlueOn" + classPostFix;
	$(nptButton).append(document.createTextNode(text));
	$(npt).append([nptLeftImage,nptButton,nptRightImage]);
	return npt;
}

function ColourButton (text, fontColour, backgroundImageColour, size)
{
	if (fontColour == null) 
		fontColour = "#FFFFFF";
	if (backgroundImageColour == null)
		backgroundImageColour = "blue";
	if (size == null)
		size = "big";

	var wrapper = document.createElement("div");
	var cssMap = 
	{
		"background-image" :  "url('/images/site/em-button-" + backgroundImageColour  + "-28.jpg')",
		padding: "2px",
		margin: "2px",
		"padding-left": "5px",
		"padding-right": "5px",
		"font-color" : fontColour,
		"font-size" : size == "small" ? "15px" : "20px",
		height : size == "small" ? "21px" : "28px",
		"float" : "left"

		
	};
	//alert (cssMap["font-color"]);
	$(wrapper).css (cssMap);

	$(wrapper).append (document.createTextNode(text));

	return wrapper;
}

infoWindowCounter = 0;


function fullScreen (id)
{
	//alert ($("#ThumbnailContainer" + id)[0].image_data["type"]);
//sourceHTML, title, text
	var lightBox = document.createElement("div");
	var fullScreenWrapper =  document.createElement("div"); 
	var fullScreenImage = document.createElement("img");
	var fullScreenTitle = document.createElement("div");
	var fullScreenCopyRight = document.createElement("div");
	var fullScreenText  = document.createElement("div");
	var fullScreenClose  = document.createElement("div");
	var image_data = $("#ThumbnailContainer" + id)[0].image_data;

	fullScreenImage.src = image_data["normal_url"];

	$(fullScreenImage).css ({"clear" : "both", "float" : "left"});
	$(fullScreenTitle).append(document.createTextNode(image_data["title"]));
	$(fullScreenCopyRight).append(document.createTextNode(" © " + image_data["copyright"]));
	$(fullScreenClose).append(document.createTextNode(Translator("close")));
	fullScreenClose.className = "messageWindowCloseLink";

	$(fullScreenText).append(document.createTextNode(image_data["text"]));
	
	lightBox.className = "lightBox";
	fullScreenWrapper.className = "opaque";
	$(fullScreenWrapper).append ([fullScreenImage, fullScreenTitle ,fullScreenText, fullScreenCopyRight,fullScreenClose]);
	
	lightBox.content = fullScreenWrapper;
	fullScreenWrapper.lightBox = lightBox;

	$(lightBox).css({"z-index" : 110,
					 "background-color" : "#000000",
					 "height" : document.documentElement.scrollHeight});	



	var previousButton = document.createElement ("img");
	previousButton.className = "link";
	previousButton.alt = "previous";
	previousButton.fullScreenWrapper = fullScreenWrapper;
	
	previousButton.target_id = image_data["previous_id"];
	divAttachMouseOver ($(previousButton), _IMAGE_PATH + "/lightbox-previous-Rollover.png", _IMAGE_PATH + "/lightbox-previous.png");

	$(previousButton).click( function () {this.fullScreenWrapper.close(); fullScreen(this.target_id)});
	
	var nextButton = document.createElement ("img");
	nextButton.className = "link";
	nextButton.alt = "next";
	nextButton.fullScreenWrapper = fullScreenWrapper;
	nextButton.target_id = image_data["next_id"];
	
	divAttachMouseOver ($(nextButton), _IMAGE_PATH + "/lightbox-next-Rollover.png", _IMAGE_PATH + "/lightbox-next.png");
	$(nextButton).click( function () {this.fullScreenWrapper.close(); fullScreen(this.target_id)});

	fullScreenImage.image_data = image_data;

	//displayed until the fullScreenImage.load-event has been triggered.
	var loadingWrapper = document.createElement("div");
	var loadingTextDiv = document.createElement("div");
	var loadingImage = document.createElement ("img");

	$(loadingTextDiv).css({"font-size" : "50px", "color" : "#FFFFFF", "float" : "right", "clear" : "both" }).append (Translator("loading"));
	$(loadingWrapper).css({"top" : (document.documentElement.scrollTop + 100) + "px" , "left" : (document.body.clientWidth / 2 -100)  + "px", "position" : "absolute" }).append([loadingImage, loadingTextDiv]);

	loadingImage.src = _IMAGE_PATH + "/ekta-media-loading-new.gif" ;
	loadingImage.alt = Translator ("loading");

	$(lightBox).append (loadingWrapper);
	lightBox.loadingImage = loadingWrapper;

	fullScreenWrapper.close = function ()
	{
		this.lightBox.style.display = "none";
		this.style.display = "none";
	};

	$(fullScreenWrapper).click ( function () { this.close(); });
	

	$(lightBox).click ( function () { this.content.close();	});
	
	fullScreenImage.lightBox = lightBox;
	fullScreenImage.fullScreenWrapper = fullScreenWrapper;
	fullScreenImage.fullScreenText = fullScreenText;
	fullScreenImage.fullScreenCopyRight = fullScreenCopyRight;
	fullScreenImage.fullScreenTitle = fullScreenTitle;
	fullScreenImage.nextButton = nextButton;
	fullScreenImage.previousButton = previousButton;

	$("body").append(lightBox);

	$(fullScreenImage).mouseenter(function (e)
	{
		e.stopPropagation();

		$(this.nextButton).show();
		$(this.previousButton).show();


	}).mouseleave(function (e)
	{
		if (!this.nextButton.hover)
			$(this.nextButton).hide();
		if (!this.previousButton.hover)	
			$(this.previousButton).hide();
	});

	
	$(fullScreenImage).load (function ()
	{

		this.lightBox.loadingImage.style.display = "none";

		$(this.nextButton).hide();
		$(this.previousButton).hide();

		 $(this).removeAttr("width")
	           .removeAttr("height")
	           .css({ width: "", height: "" });
		
		$("body").append(this.fullScreenWrapper);

		//alert (this.width);

		$(this.fullScreenText).css ({"clear" : "both", "width" : (this.width - 30) + "px", "margin-bottom" : "30px", "float" : "left" });

		$(this.fullScreenCopyRight).css ({"clear" : "left", "font-size" : "12px", "margin" : "5px", "float" : "left" });

		$(this.fullScreenTitle).css ({"clear" : "both", "font-size" : "24px", "margin-top" : "5px" , "margin-bottom" : "5px", "float" : "left" });

		$(this.nextButton).css({ "position" : "absolute", "z-index" : "125", "top" : "50px", "left" : (this.width - 57 + 15) + "px"});

		$(this.previousButton).css({ "position" : "absolute", "z-index" : "125", "top" : "50px", "left" : "0px"});

		$(this.fullScreenWrapper).css({
									"top" : (document.documentElement.scrollTop + 100) + "px",
									"left" : ((document.body.clientWidth / 2 - ((this.width + 30) / 2))) + "px", 
								  "width" : (this.width) + "px",
								"background" : "#181818",
								  "color" : "#8e8d8d",
								  "padding" : "15px",
								  "z-index" : "300"
});

	
		if (this.image_data["previous_id"])
			$(fullScreenWrapper).append(this.previousButton);

		if (this.image_data["next_id"])
			$(fullScreenWrapper).append(this.nextButton);	
		});
	
		
	
	
	

}

/**
* Adds an error message to the error stack
*/
function addError (msg)
{
	InfoWindow ("error", Translator("error"), msg);

}

function divAttachMouseOver (target, onImageSrc, outImageSrc)
{
	target[0].onSrc = onImageSrc;
	target[0].offSrc = outImageSrc;

	if(target[0].tagName.toLowerCase() == "img")
	{
		target[0].src = outImageSrc;
		target.hover( 	function (e)  { e.stopPropagation(); this.src = this.onSrc; this.hover = true; $(this).show ();}, 
						function (e) { e.stopPropagation(); this.src = this.offSrc; this.hover = false;});
	}
	else
	{
		target.mouseenter( function ()  { $(this).css("background-image", "url('" + this.onSrc +  "')"); this.hover = true;});
		target.mouseleave( function () { $(this).css("background-image", "url('" + this.offSrc +  "')"); this.hover = false;		});
	}


}

String.prototype.trim = function () {
	inString = (!this ? "": this);
	while (inString.substring(0,1) == " ") inString = inString.substring(1);
	while (inString.substring(inString.length-1) == " ") inString = inString.substring(0, inString.length-1);
	return inString;
}



/**
* Used as an event handler to prevent inform about the fact that form data has ben changed
* @param Event e The change event.
*/
function confirmChanges (e)
{
	if (documentFormsHasUnsavedChanges ())
		if (!confirm(Translator("changes_made")))
			e.preventDefault();
}

