

var gb = {};
	gb.records_per_page = 2;
	gb.content_container = "guestbook_entry";
	gb.pages = [];
	gb.post_url = "../public_action/gb.php";
	
	gb.init = function()
	{	
		gb.pages = [];
		if(!gb.data.length) return;
		var page=[], z=0;
		for(var i=0;i<gb.data.length;i++){
			if(z<gb.records_per_page){
				page.push(gb.data[i]);
				z++
				
			}else{
				gb.pages.push(page);
				page = [];
				page.push(gb.data[i]);
				z=1;
			}
			if(i==gb.data.length-1){
					gb.pages.push(page);
				}
		}
		
		if(gb.pages.length > 1){
			var pager = new ftcPaging(gb.pages.length,"guestbook_pager",gb._navigate);
				pager.draw();				
		}else{
			UTIL.element("guestbook_pager","&nbsp;");
			
		}
		gb._navigate(1);
	}
	gb._navigate = function(no)
	{
		var page =  gb.pages[parseInt(no)-1];
		gb.drawContent(page);
	}
	//===============================================
	gb.drawContent = function(page)
	{
		var s = "";
		for(var i=0;i<page.length;i++){
			s+= gb.drawEntry(page[i]);
		}
		UTIL.element(gb.content_container,s);
	}
	//===========================================
	gb.drawEntry = function(entry)
	{
		var s = "<table class=\"gb-entry-table\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">";
		s+= "<tr>";
		s+="<td class=\"gb-entry-user\">"+UTIL.shorten(entry.user_name,20)+"</td>";
		s+= "<td class=\"gb-entry-date\">";
		s+= (entry.user_city) ? UTIL.shorten(entry.user_city,14)+", " : "";
		var created = new dbdDate(entry.created*1000,txt.public_standard_date);
		s+= created.toString();
		s+="</td>";
		s+= "</tr>";
		s+= "<td class=\"gb-entry-comment\"  colspan=\"2\">"+entry.user_comment+"</td>";
		s+= "</tr></table>";
		return s;
	}
	gb.newEntry = function()
	{
		gb.drawEntryForm();
    try { if (typeof parent == 'object' && typeof parent.resizeLPFrame == 'function') parent.resizeLPFrame() } catch(e) {}
	}
	//==============================================
	gb.default_entry_form = "";
	gb.drawEntryForm = function()
	{
		gb.default_entry_form = UTIL.element("guestbook_new_entry").innerHTML;
    var tstamp = new Date();
		var created = new dbdDate(tstamp.getTime(), txt.public_standard_date);
		var s = "<table class=\"gb-entry-table\" cellpadding=\"4\" cellspacing=\"4\" align=\"center\">";
		s+= "<tr><td class=\"gb-entry-head\" colspan=\"2\">";
		s+= created.toString();
		s+= "&nbsp;&nbsp;<a onclick=\"UTIL.element('guestbook_new_entry',gb.default_entry_form); try { if (typeof parent == 'object' && typeof parent.resizeLPFrame == 'function') parent.resizeLPFrame() } catch(e) {}\" style=\"cursor:pointer\">[X]</a>";
		s+= "</td>";
		//1st row:
		s+= "<tr><td class=\"gbn-left\">";
		s+= "<input type=\"text\" class=\"gbni-left\" id=\"gbn_user_name\" value=\""+txt.gb_user_name+"\" /></td>";
		s+= "<td class=\"gbn-right\" >";
		s+="<input type=\"text\" class=\"gbni-right\" id=\"gbn_user_email\" value=\""+txt.gb_user_email+"\"  /></td>";
		//2nd row:
		s+= "<tr><td class=\"gbn-left\">";
		s+= "<input type=\"text\" class=\"gbni-left\" id=\"gbn_user_city\" value=\""+txt.gb_user_city+"\" /></td>";
		s+= "<td class=\"gbn-right\" >";
		s+="<input type=\"text\" class=\"gbni-right\" id=\"gbn_user_website\" value=\""+txt.gb_user_website+"\" /></td>";
		
		//textarea:
		s+= "<tr><td colspan=\"2\" class=\"gbn-whole\">";
		s+= "<textarea id=\"gbn_user_comment\">"+txt.gb_user_comment+"</textarea></td>";
		s+= "</tr><tr>";
    s+= "<td colspan=\"2\">"; 

    // captcha image
    s+= "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr>"; 
    s+= "<td class=\"gbn-captcha\"><img id=\"captcha_image\" src=\"/mediacenter/public_action/captcha_image/captcha_image.html?stmp=" + tstamp.getTime() + "\"></td>";
    s+= "<td class=\"gbn-captcha-input\" valign=\"bottom\"><input class=\"gbn-captcha-input\" type=\"text\" id=\"gbn_entry_captcha_string\" value=\""+txt.gb_entry_captcha_string+"\"></td>";
		s+= "<td class=\"gbn-foot\" valign=\"bottom\"><button id=\"gb_btn_send\" onclick=\"gb.sendEntry()\">"+txt.glob_send+"</button></td>";
    s+= "</tr></table>"

    s+= "</td>";
		s+= "</tr></table>";
		UTIL.element("guestbook_new_entry",s);
		Handler.add(UTIL.element("guestbook_new_entry"),"click",gb.entryClick);
	}
	//====================================================
	gb.entryClick = function(e)
	{
		e = e || window.event;
		try{
			var id = e.target.getAttribute("id");
			id = id.replace(/^gbn_/,"");
			if(txt["gb_"+id]==e.target.value)
				e.target.value = "";
			}catch(e){return;}
	}
	//======================================================
/**
!!!! CAUTION 
the sendEntry() Method is overwridden for comments in /image.html
!!!!!!!!!!!! **/
//during the post request is on its way we deactivate submit:
gb.is_posting = false;
	gb.sendEntry = function()
	{
		//cant't wait for answer ?
		if(true==gb.is_posting) return;
		var request = {};
		request.user_name = UTIL.element("gbn_user_name").value;
		request.user_email = UTIL.element("gbn_user_email").value;
		request.user_city = UTIL.element("gbn_user_city").value;
		request.user_website = UTIL.element("gbn_user_website").value;
		request.user_comment = UTIL.element("gbn_user_comment").value;
    	request.captcha_string = UTIL.element("gbn_entry_captcha_string").value;
		var check = gb._checkEntry(request);
		if(check < 10){
			alert(txt.gb_entry_error+"\n"+txt.form_entry_errors[check]);
     		 return false;
		}	
		//deactivate until answer is in:
		gb.is_posting = true;
		request.url = gb.post_url;
		HTTP.post(request.url,request,gb._postIn); 
	}
	//==========================================
	gb._checkEntry = function(request)
	{
		for(var i in request){
			if(request[i] == txt["gb_"+i]) request[i] = "";			
		}
		if(!UTIL.isEmail(request.user_email)) return 0;
		if(""==request.user_name) return 1;
		if(""==request.user_comment) return 2;
		return 10;
	}
	//========================================
	gb._postIn = function(result)
	{
		
		//activate submit:
		gb.is_posting = false;
		var s ;
		switch(parseInt(result)){
			//mysql error:
			case 0: s = txt.gb_entry_save_error; break;
			//safe complete, no moderation:
			case 1: s = txt.gb_entry_save_confirm; break;
			case 2:
			s = txt.gb_entry_save_confirm+"\n"+txt.entry_moderation;break;
			//captcha error:
			case 9:
			var tstamp = new Date();
      		s = txt.gb_entry_wrong_captcha;
     		 alert(s);
      		UTIL.element("captcha_image").src = "/mediacenter/public_action/captcha_image/captcha_image.html?stmp=" +tstamp.getTime();
      		return;
      		default:s = txt.gb_entry_save_error; break;
		}// end switch
		alert(s);
		 window.location.reload();  
	}

	
