/***************************************************
 competition.js
 * v0.2 2007-04-20
***************************************************/
String.prototype.toMarker = function(){ return "{$" + this + "}"; };

var COMP_BUTTON_SUBMIT_TEXT;
var COMP_YEAR_RANGE_CEILING = 2015;
var COMP_YEAR_RANGE_FLOOR = 1900;
var MONTHS_IN_YEAR = 12;
var DAYS_IN_MONTH = 31;

var COMP_XMLROOT_AGEVERIFY   = "competitionverifyage";
var COMP_XMLROOT_AGEFAILURE  = "competitionageverificationfailure";
var COMP_XMLROOT_THANKS      = "competitionthanks";
var COMP_XMLROOT_TOOLATE     = "competitionpostcompetition";
var COMP_XMLROOT_SERVERERROR = "competitionservererror";
var COMP_XMLROOT_CAPTCHAVERIFY = "competitioncaptchaverificationfailure";
var COMP_XMLNODE_TEXT        = "text";

tool_fAttachEvent( "load", comp_fInitialise );

var COMP_STYLE_ID = null;
var COMP_COMPETITION_ID = null;
var COMP_CACHE = null;

function COMP_AGE_COOKIE(){ return COMP_COMPETITION_ID + "AGE"}
function COMP_BYPASS_AGE_COOKIE(){ return COMP_COMPETITION_ID + "BYPASS"}

var comp_sIdCompContainer = "competition-container";
var comp_sIdCompContent = "competition-content";
var comp_sIdCompCompetitionId = "competitionid";
var comp_sIdCompStyleId = "styleid";
var comp_sIdCompCache = "cache";
var comp_sClassMessageText = "competition-message";
var comp_sIdDataContainer = "competition-data";

var comp_sValidationFunction = "val_fFormOnFormSubmitCheckAll";
var comp_sURLGetPanelHTML = "/comp-frontend/comp";
var comp_sParamAge = "ageresponse";

var comp_sXMLHeader = '<?xml version="1.0" encoding="UTF-8"?>';
var comp_sXMLGetCompHTML = ( comp_sXMLHeader + '<competitionrequest style="' + comp_sIdCompStyleId.toMarker() + '" cache="' + comp_sIdCompCache.toMarker() + '"><competitionid>' + comp_sIdCompCompetitionId.toMarker() + '</competitionid></competitionrequest>' );
var comp_sXMLAgeVerification = ( comp_sXMLHeader + '<competitionageverification style="' + comp_sIdCompStyleId.toMarker() + '" cache="' + comp_sIdCompCache.toMarker() + '"><competitionid>' + comp_sIdCompCompetitionId.toMarker() + '</competitionid><age>' + comp_sParamAge.toMarker() + '</age></competitionageverification>' );

include('http://api.recaptcha.net/js/recaptcha_ajax.js');
include('/comp-frontend/js/captcha.js');

function evalScript(scripts)
{	try
	{	if(scripts != '')	
		{	var script = "";
			scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
	       	                         if (scripts !== null) script += arguments[1] + '\n';
 	        	                        return '';});
			if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
		}
		return false;
	}
	catch(e)
	{	
	}
}

function tagChallengeField() {
	var challenge = document.getElementById('recaptcha_challenge_field');

	if( challenge != null ) {
		challenge.setAttribute('xmltag', 'captcha-challenge|INSERT_VALUE');
	}
}

function include(filename)
{
	document.write('<script type="text/javascript" src="' + filename + '"></script>');
}

function comp_fInitialise()
{
	var eComp = comp_fGetCompContainer();
	if( eComp )
	{
		if( tool_fCanHttp() )
		{
			comp_fGetCompHTML( eComp );
		}
		else
		{
			comp_fDisplayFullPanelMessage( COMP_GENERAL_ERROR );	
		}
	}
}

function comp_fGetCompHTML( eComp )
{
	var sPostXML = comp_fCreateGetCompHTMLXML();
	if( sPostXML )
	{
		if(comp_fByPassAgeVerification()){
			var ageString = comp_fGetAge();
			if(ageString){
				comp_fSubmitAgeVerfication(ageString);
				return;
			}
		}
		tool_fSendHTTPASync( comp_sURLGetPanelHTML, sPostXML, comp_fHandleServerResponse );
	}
	else
	{
		comp_fDisplayFullPanelMessage( COMP_GENERAL_ERROR );	
	}
}

function comp_fCreateGetCompHTMLXML()
{
	var eComp, sCompetitionId, sCache, sStyleId;
	
	if(( eComp = comp_fGetCompContainer()) &&
	   ( sCompetitionId = eComp.getAttribute("compID") ) &&
	   ( sCache = eComp.getAttribute("cache") ) &&
	   ( sStyleId = eComp.getAttribute("styleID" )))
	{
		COMP_COMPETITION_ID = sCompetitionId;
		COMP_STYLE_ID = sStyleId;
		COMP_CACHE = sCache;
		return comp_fReplaceXMLParams( comp_sXMLGetCompHTML, [ comp_sIdCompCompetitionId, COMP_COMPETITION_ID, comp_sIdCompStyleId, COMP_STYLE_ID, comp_sIdCompCache, COMP_CACHE ] );
	}
	return null;
}       

function comp_fReplaceXMLParams( sXMLString, aParams )
{
	var nParams = aParams.length;
	for( var i=0,j=1; i<nParams; i+=2,j+=2 )
	{
		sXMLString = sXMLString.replace( aParams[ i ].toMarker(), aParams[ j ] );
	}

	return sXMLString;
}

function comp_fHandleServerResponse()
{
	var sResponseText = this.responseText.trim();
	if( sResponseText.contains( comp_sIdCompContent ) )
	{   
		comp_fOnGetCompHTMLComplete( sResponseText );
		comp_fSaveByPassAgeVerification();
		dniCompForm.restore();
		dniCompUgc.init();
	}
	else
	{
		var oXML = tool_fCreateXMLDocFromString(sResponseText);
		if( oXML )
		{
			var oRootNode = oXML.documentElement;
			switch( oRootNode.nodeName )
			{
				case COMP_XMLROOT_AGEVERIFY:
					comp_fOnAgeVerify( oRootNode );
					break;
				case COMP_XMLROOT_CAPTCHAVERIFY:
					comp_fOnCaptchaFailure( oRootNode );
					break;
				case COMP_XMLROOT_AGEFAILURE:
					comp_fOnAgeFailure( oRootNode );
					break;
				case COMP_XMLROOT_THANKS:
					comp_fOnThanks( oRootNode );
					break;
				case COMP_XMLROOT_TOOLATE:
					comp_fOnPostCompetition( oRootNode );
					break;
				case COMP_XMLROOT_SERVERERROR:
					comp_fOnServerError( oRootNode );
					break;
					
			}
		}
	}
	
	evalScript(sResponseText);
	
}

function comp_fOnCaptchaFailure( oRootNode ) {
	var errorArray = new Array();
	var displayText = comp_fGetXMLTextNodeText(oRootNode);

	Recaptcha.reload();
	
	var recaptchaInputId = 'recaptcha_response_field';
	document.getElementById(recaptchaInputId).value = "";

	errorArray.push({errorMessage: displayText, field: "", errorId: recaptchaInputId});
	buildErrorStrings(errorArray);		
}

function comp_fOnAgeVerify( oRootNode )
{
	var displayText = comp_fGetXMLTextNodeText(oRootNode);
	
	COMP_BUTTON_SUBMIT_TEXT = oRootNode.getElementsByTagName("submitbuttontext")[0].firstChild.nodeValue;
	
	if (displayText) {
		var competitionContainer = comp_fGetCompContainer();
		
		var messageText = document.createElement("div");
		messageText.innerHTML = displayText;
		messageText.className = "comp-age-textarea"
		competitionContainer.appendChild(messageText);
		
			// this element can be used to add another DOB line if required
			// used here as it provides nice padding.
		var enterDOBText = document.createElement("div");
		enterDOBText.className = "comp-age-enter-dob"
		competitionContainer.appendChild(enterDOBText);
		
		var yearSelect = document.createElement("select");
		yearSelect.className = "comp-age-date";
		yearSelect.id = "comp-age-year";
		compPopulateYear(yearSelect);
		
		var monthSelect = document.createElement("select");
		monthSelect.className = "comp-age-date";
		monthSelect.id = "comp-age-month";
		compPopulateMonth(monthSelect);
		
		var daySelect = document.createElement("select");
		daySelect.className = "comp-age-date";
		daySelect.id = "comp-age-day";
		compPopulateDay(daySelect);
		
		competitionContainer.appendChild(daySelect);
		competitionContainer.appendChild(monthSelect);
		competitionContainer.appendChild(yearSelect);
		
		var submitButton = document.createElement("input");
		submitButton.type = "button";
		submitButton.className = "comp-age-submit-button";
		submitButton.value = COMP_BUTTON_SUBMIT_TEXT;
		submitButton.onclick = function() {
			var sDate = [
			   document.getElementById("comp-age-year").value, 
			   document.getElementById("comp-age-month").value,
			   document.getElementById("comp-age-day").value
				].join("/");
			comp_fSaveAge(sDate);
            comp_fSubmitAgeVerfication(sDate);
		}
		competitionContainer.appendChild(submitButton);
		
	}
	
}

function comp_fSaveAge(ageString){
	tool_fSetCookie(COMP_AGE_COOKIE(), ageString, "session", false);
}

function comp_fGetAge(){
    return tool_fGetCookie(COMP_AGE_COOKIE());
}

function comp_fSaveByPassAgeVerification(){
    tool_fSetCookie(COMP_BYPASS_AGE_COOKIE(), "yes", "session", false);
}

function comp_fByPassAgeVerification(){
    var bypass = tool_fGetCookie(COMP_BYPASS_AGE_COOKIE());
	return bypass? true: false;
}

function clearCookies(){
	tool_fDeleteCookie(COMP_BYPASS_AGE_COOKIE());
	tool_fDeleteCookie(COMP_AGE_COOKIE());
}

function comp_fSubmitAgeVerfication(ageString){
	 COMP_CACHE = false;
	 var sPostXML = comp_fReplaceXMLParams( comp_sXMLAgeVerification, [ comp_sIdCompCompetitionId, COMP_COMPETITION_ID, comp_sIdCompStyleId, COMP_STYLE_ID, comp_sParamAge, ageString, comp_sIdCompCache, COMP_CACHE ] );
     tool_fSendHTTPASync( comp_sURLGetPanelHTML, sPostXML, comp_fHandleServerResponse );
}

function compPopulateYear(dateObject) {
	var today = new Date;
	for (i=COMP_YEAR_RANGE_CEILING; i>=COMP_YEAR_RANGE_FLOOR; i--) {
		var newYear = document.createElement("option");
		newYear.value = i;
		newYear.innerHTML = i;
		if(i==today.getFullYear()) {
			newYear.setAttribute("selected", "true");
		}
		dateObject.appendChild(newYear);
	}
}

function compPopulateMonth(dateObject) {
	for (i=1; i<=MONTHS_IN_YEAR; i++) {
		var newMonth = document.createElement("option");
		var thisMonth = compFormatDate(i);
		newMonth.value = thisMonth;
		newMonth.innerHTML = thisMonth;
		dateObject.appendChild(newMonth);
	}
}

function compPopulateDay(dateObject) {
	for (i=1; i<=DAYS_IN_MONTH; i++) {
		var newDay = document.createElement("option");
		var theDay = compFormatDate(i);
		newDay.value = theDay;
		newDay.innerHTML = theDay;
		dateObject.appendChild(newDay);
	}
}

function compFormatDate(theDay) {
	var stringDay = theDay.toString();
	if (stringDay.length == 1) {
		return ("0" + stringDay);
	} else {
		return theDay;
	}
}

function comp_fOnAgeFailure( oRootNode ) { comp_fDisplayXMLTextMessage( oRootNode ); };
function comp_fOnThanks( oRootNode ) { comp_fDisplayXMLTextMessage( oRootNode ); };
function comp_fOnPostCompetition( oRootNode ) { comp_fDisplayXMLTextMessage( oRootNode ); };
function comp_fOnServerError( oRootNode ) { comp_fDisplayFullPanelMessage( COMP_GENERAL_ERROR ); };

function comp_fDisplayXMLTextMessage( oRootNode )
{
	var sDisplayText = comp_fGetXMLTextNodeText( oRootNode );
	if( sDisplayText )
	{
		comp_fDisplayFullPanelMessage( sDisplayText );
		return;
	}
	comp_fDisplayFullPanelMessage( COMP_GENERAL_ERROR );
}

function comp_fGetXMLTextNodeText( oRootNode )
{
	var oDisplayText = tool_fGetFirstElementByTagName( oRootNode, COMP_XMLNODE_TEXT );
	if( oDisplayText )
	{
		return tool_fGetNodeText( oDisplayText );
	}
	return null;
}

function comp_fDisplayFullPanelMessage( sDisplayText )
{
	var eComp = comp_fGetCompContainer();
	eComp.innerHTML = "";
	var eDisplay = document.createElement( "div" );
	eDisplay.className = comp_sClassMessageText;
	eDisplay.innerHTML = sDisplayText;
	//tool_fSetInnerText( eDisplay, sDisplayText );
	eComp.appendChild( eDisplay );
	//tool_fScrollIntoView(eComp);
}

function comp_fGetXMLObject( oHTTP )
{
	var sResponseXML = oHTTP.responseXML;
	if( tool_bIE )
	{
		return tool_fCreateXMLDocFromString( oHTTP.responseText );
	}
	return sResponseXML;
}

function comp_fGetUserResponse( sPromptText )
{
	return prompt( sPromptText, "" );
}

function comp_fOnGetCompHTMLComplete( sHTML )
{
    var eComp = comp_fGetCompContainer();
	eComp.innerHTML = sHTML;
	eSubmit = document.getElementById( "competition-submit" );
	if( eSubmit )
	{
		eSubmit.onclick = comp_fSubmitOnClick;	
	}
	eReset = document.getElementById( "competition-reset" );
    if( eReset )
    {
        eReset.onclick = comp_fResetOnClick;  
    }
}

function comp_fSubmitOnClick( e )
{
	tagChallengeField();
	
	var comp_valid = validate_competition("competition-form");
	//var comp_valid = true;
	if (comp_valid) {
		comp_fParseCompetition();
		clearCookies();
		dniCompForm.destroy();
	}
	return false;
}

function comp_fResetOnClick( e )
{
    dniCompForm.destroy();
	return true;
}
		 
function comp_fGetCompContainer()
{
	return document.getElementById( comp_sIdCompContainer );
}
		 
function comp_fParseCompetition()
{
	var eComp = comp_fGetCompContainer();
	var sPostXML = ( comp_sXMLHeader + comp_fGenerateResponseXML( eComp ) );
	
	//Elements still have done=true so will not be processed again if the ajax call returns a user error.
    tool_fSendHTTPASync( comp_sURLGetPanelHTML, sPostXML, comp_fHandleServerResponse );
	comp_fResetProcessedElements(eComp);
}

function comp_fResetProcessedElements(eParent) {
	var aAll = (eParent.getElementsByTagName( "*" ) || eParent.all);
	var nAll = aAll.length;
	
	for( var i=0; i<nAll; i++ )
	{
		eElement = aAll[ i ];
		eElement.bDone = "";
	}
}

function comp_fGenerateResponseXML( eParent )
{
	var aAll = (eParent.getElementsByTagName( "*" ) || eParent.all);
	var nAll = aAll.length;
	var eElement, sXMLTag;
	var sXML = "";
	for( var i=0; i<nAll; i++ )
	{
		eElement = aAll[ i ];
		if( !eElement.bDone )
		{
			sXMLTag = eElement.getAttribute( "XMLTAG" );
			if( sXMLTag != null )
			{
				sXML += comp_fProcessResponseTag( eElement, sXMLTag );
			}
		}
	}
	return sXML;
}

function comp_fProcessResponseTag( eTagged, sParams )
{
	var aParams = sParams.split( "|" );
	var sTagName = aParams[ 0 ];
	var sTagType = aParams[ 1 ];
	var sAttString = "";
    var sXMLAtt = eTagged.getAttribute( "XMLATT" );
	if( sXMLAtt != null )
	{
		sAttString = comp_fProcessResponseAtt( sXMLAtt );	
	}
	if( sTagType == "ROOT_NODE" )
	{
		sAttString+=" style='" + COMP_STYLE_ID + "'";
	}
	var sTagString = "<" + sTagName + sAttString + ">";
	switch( sTagType )
	{
		case "ROOT_NODE":
			sTagString += "<competitionid>"+COMP_COMPETITION_ID+"</competitionid>";
			sTagString += comp_fGenerateResponseXML( eTagged );
			break;
		case "PARENT_NODE":
			sTagString += comp_fGenerateResponseXML( eTagged );
			break;
		case "INSERT_VALUE":
			sTagString += comp_fGetValue( eTagged );
			break;
		default:
			sTagString += sTagType;
	}
	sTagString += "</" + sTagName + ">\n";
	eTagged.bDone = true;
	return sTagString;
}

function comp_fProcessResponseAtt( sParams )
{
	var aAtts = sParams.split( "%" );
	var nAtts = aAtts.length;
	var sParams, aParams, sAttName, sAttType; 
	var sAttString = "";
	for( var i=0; i<nAtts; i++ )
	{
		sParams = aAtts[ i ];
		aParams = sParams.split( "|" );
		sAttName = aParams[ 0 ];
		sAttType = aParams[ 1 ];
		switch( sAttType )
		{
			default:
				sAttString += ( ' ' + sAttName + '="'+ sAttType + '"' );
		}
		return sAttString;
	}
}

function comp_fGetValue( eElement )
{
	var sType = ( eElement.type || eElement.tagName.toLowerCase() );
	var sElementType = sType.replace( /\-.*$/, "" );
	switch( sType )
	{
		case "checkbox":
			return ( eElement.checked );
		case "radio":
            var aRadios = eElement.form.elements[ eElement.name ];
			var sReturnValue = "";
			var nRadios = aRadios.length;
			var eRadio, eChecked;
			for( var i=0; i<nRadios; i++ )
			{
				eRadio = aRadios[ i ];
				eRadio.bDone = true;
				if( eRadio.checked )
				{
					sReturnValue = eRadio.value;
				}
			}
			return sReturnValue;
		case "fieldset":
            var aElements = (eElement.getElementsByTagName( "*" )  || eElement.all);
			var nElements = aElements.length;
			var eElement, sReturnValue="";
			for( var i=0; i<nElements; i++ )
			{
				eElement = aElements[ i ];
				if( eElement.tagName.toLowerCase() != "option" && eElement.form && ( eElement.value != undefined ) )
				{
					sReturnValue += eElement.value;
				}
			}
			return sReturnValue;
		default:
			return "<![CDATA["+eElement.value+"]]>";
	}
}

/**************************************
 *        SAVE/RESTORE FORM
 * ************************************/

dniCompForm = {
	COMP_COOKIE : function(){ return "comp"+COMP_COMPETITION_ID;},
	COOKIE_NAME_VALUE_DEL : ":",
	COOKIE_OBJ_DEL : "#",
	COMP_INPUT_CLASS : "comp-input",
	save : function(){
		var inputElements = tool_fGetElementsByClassName(comp_fGetCompContainer(), dniCompForm.COMP_INPUT_CLASS);

		function parseElement(form, element){
			var id = element.getAttribute("id");
			var value = element.value;
			switch (element.type){
				case "radio":
				case "checkbox":
				   //IF ELEMENT IS NOT CHECKED - DO NOT SAVE IT
				   if(!element.checked) return;
				   break;
				case "select":
				   value = element.options[element.selectedIndex];
				   break;
				default:
				   if(value.trim() == "") return;			
			}
            form.push([escape(id),escape(value)].join(dniCompForm.COOKIE_NAME_VALUE_DEL));
		} 
		
		function _save(){
			var form = [];
			for(var i=0; i<inputElements.length; i++){
				parseElement(form,inputElements[i]);
			}
			if(form.length != 0){
				tool_fSetCookie(dniCompForm.COMP_COOKIE(), form.join(dniCompForm.COOKIE_OBJ_DEL), "session", true);
			}else{
				tool_fDeleteCookie(dniCompForm.COMP_COOKIE());
			}
		}
		
		dniCompForm.save = _save;
		return dniCompForm.save();
	},
	restore : function(){
		function restoreElement(cookieElement){
			var nameValue = cookieElement.split(dniCompForm.COOKIE_NAME_VALUE_DEL);
			var name = unescape(nameValue[0]);
			var value = unescape(nameValue[1]);
			var element = document.getElementById(name);
			if(!element) return false; //INVALID COOKIE FOR THIS FORM
			switch (element.type){
                case "radio":
				case "checkbox":
                   element.checked = true;
                   break;
                case "select":
                   element.selectedIndex = value;
                   break;
                default:
                   element.value = value;  
            }
			//ALL OK
			return true;
		}
		
		function _restore(){
		   var form = tool_fGetCookie(dniCompForm.COMP_COOKIE(), true);
		   if(form){
			   var elements = form.split(dniCompForm.COOKIE_OBJ_DEL);
			   for(var i=0; i<elements.length; i++){
                  if(!restoreElement(elements[i])){
				  	//ERROR - DESTROY COOKIE
					dniCompForm.destroy();
					return;
				  }
               }
	 	   }
		}
		dniCompForm.restore = _restore;
		return dniCompForm.restore();
	},
	destroy : function(){
        tool_fDeleteCookie(dniCompForm.COMP_COOKIE())
    }
}

/**************************************
 *        UGC GALLERY FUNCTIONS
 * ************************************/
dniCompUgc = {
    COOKIE_NAME_VALUE_DEL : ":",
    COOKIE_OBJ_DEL : "#",
	UGC_CONTAINER_CLASS : "comp-ugc-container",
	UGC_GALLERY_ID_ATTRIBUTE : "gid",
	UGC_FIELD_ID_ATTRIBUTE : "fid",
	UGC_CONTAINER_ID_ATTRIBUTE : "id",
	galleries : new Array(),
	init: function(){
		var ugcContainers = tool_fGetElementsByClassName(comp_fGetCompContainer(), dniCompUgc.UGC_CONTAINER_CLASS, "div");
		if(ugcContainers.length != 0){
			dniCompUgc.createGalleries(ugcContainers);
		}
	},
	createGalleries : function(ugcContainers){
		for(var i=0; i<ugcContainers.length; i++){
			var gElement = ugcContainers[i];
			var gId = gElement.getAttribute(dniCompUgc.UGC_GALLERY_ID_ATTRIBUTE);
			var fId = gElement.getAttribute(dniCompUgc.UGC_FIELD_ID_ATTRIBUTE);
			var gContainerId = gElement.getAttribute(dniCompUgc.UGC_CONTAINER_ID_ATTRIBUTE);
			//SELECT UGC ITEM ONLY ONCE
			if(!document.getElementById(fId).value){
				dniCompUgc.newGallery(gId,fId,gContainerId);
			}
		}
	},
	newGallery: function(galleryId, fieldId, containerId){
		
		var returnUrl = escape(document.location.href);

		var countryCode='GB'; 
		if(typeof discovery != 'undefined') {
		    countryCode = discovery.USER.info.getGeoCode(); 
		}
		var gallery = dniUgc.InstanceFactory(containerId, "comp"+galleryId, true);
        gallery.setup.setRequiredParams("SERVICE", {'gid':galleryId, 'returnURL':returnUrl,'countryCode':countryCode,'prefix':"comp"+galleryId, 'caller':"comp-fe"});
		gallery.manage.EVENT.attachListener("onExternal", function(){dniCompForm.save();});
		gallery.manage.EVENT.attachListener("onRefresh", function(){dniCompForm.save();});
		gallery.manage.EVENT.attachListener("onSubmit", function(myGallery){
			var itemObject = myGallery.setup.itemInfo;
			var fid = fieldId;
			document.getElementById(fid).value = itemObject[myGallery.selectedItem.imageId]["item-url"];
			}, [gallery]);
		
		gallery.manage.EVENT.attachListener("onLocalUpload", function(myGallery){
			var fid = fieldId;
			document.getElementById(fid).value = "http://" + location.host + uploadedUrl;
			dniUgc.utility.getElementsByClassName("comp-ugc-container")[0].style.display = "none";
			}, [gallery]);
		//gallery.manage.URL.config.currentConfig = 'AJAX';
		//START IT MANUALLY
        gallery.manage.EVENT.broadcast("onPageLoad");
		dniCompUgc.galleries.push(gallery);
	},
	//NOT USED YET
	saveUgcItem: function(galleryId,ugcItem){
		var ugcCookie = [];
		for(field in ugcItem){
			ugcCookie.push([escape(field),escape(ugcItem[field])].join(dniCompUgc.COOKIE_NAME_VALUE_DEL));
		}
		tool_fSetCookie("ugc"+galleryId, ugcCookie.join(dniCompUgc.COOKIE_OBJ_DEL), "session", true);
	},
	//NOT USED YET
	getUgcItem : function(galleryId){
		var ugcItemCookie = tool_fGetCookie("ugc"+galleryId, true);
		var ugcItem = {};
        var elements = ugcItemCookie.split(dniCompUgc.COOKIE_OBJ_DEL);
        for(var i=0; i<elements.length; i++){
            var nameValue = elements[i].split(dniCompUgc.COOKIE_NAME_VALUE_DEL);
            ugcItem[unescape(nameValue[0])] = unescape(nameValue[1]);
        }
		return ugcItem;
	}
}

