/*
 * jquery.functions 1.5.0
 * Copyright (c) 2010 Andrea Piccoli
 * 
 * File generated: Apr 15 00:00:00 GMT+01:00 2010
 *
 */

// inputbox
(function($){  
	$.fn.extend({  
		inputbox: function(options){  
			var config = {
						ibCallFocus:'',
						ibCallBlur:''
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options;  
				var obj = $(this); 
				var lab = obj.attr('label'); 
				var val	= obj.val();
				var typ = obj.attr("type");
						
				if (lab && lab !='' && (val=='' || val==lab)) {
					obj.val(lab);
					obj.addClass("off");
				} else {
					obj.removeClass("off");
				};

				obj.focus(function() {
					val = obj.val();
					if (val=='' || val==lab) {
						obj.val('');
						obj.removeClass("off");
					};
					if (opt.ibCallFocus!="") {
						opt.ibCallFocus.call(o=obj);
					}
				});
				
				obj.blur(function() {
					val = obj.val();
					if (val=='' || val==lab) {
						obj.val(lab);
						obj.addClass("off");
					} else {
						obj.removeClass("off");
					};
					if (opt.ibCallBlur!="") {
						opt.ibCallBlur.call(o=obj);
					}
				});
				
			});  
		}  
	});  
})(jQuery);

// textbox
(function($) {
	$.fn.textbox = function() {
		this.each(function(){
											 
			var pdg;
			
			if (navigator.userAgent.indexOf('MSIE')!=-1) {
				pdg = parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom'));
			} else {
				pdg = 0;
			};
			var hgt = $(this).height();
		
			$(this).height(0);
			
			var sch = $(this).get(0).scrollHeight - pdg;
			var mnh = parseInt($(this).css('minHeight'));
			var dlt = parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom'));
			
			if((sch - dlt) <= mnh) {
				$(this).height(mnh);
			} else {
				$(this).height(sch);
			};
		
			$(this).parent().css('height', 'auto');
		
			$(this).keyup(function(event) {
				
				if (navigator.userAgent.indexOf('MSIE')!=-1) {
					pdg = parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom'));
				} else {
					pdg = 0;
				};
				
				hgt = $(this).height();
				
				$(this).height(0);
				
				sch = $(this).get(0).scrollHeight - pdg;
				mnh = parseInt($(this).css('minHeight'));
				dlt = parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom'));
				
				if((sch - dlt) <= mnh) {
					$(this).height(mnh);
				} else {
					$(this).height(sch);
				};
				$(this).parent().css('height', 'auto');
			});
		});
	};
})(jQuery);

// checkbox
(function($){  
	$.fn.extend({  
		checkbox: function(options){    
			var config = {
				cbImageOff:   '/admin/inc/images/icons/checkbox_empty.png', 
				cbImageOn:   '/admin/inc/images/icons/checkbox_checked.png',
				cbImageDisable: '/admin/inc/images/icons/checkbox_disabled.png',
				cbCallback: ''
			};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options;  
				var obj = $(this); 
				var ref = obj.attr("id");
				var wrp = obj.parent();
				var trg;
				var tit = '';
				var txt = '';
				
				if (obj.attr("title")){
					tit = ' title="' + obj.attr("title") + '"';
				};
				
				obj.css("display","none");
				
				// remove previus object
				$("#" + ref + "-checkbox").remove();

				if(obj.attr("checked")=="checked") {
					if(obj.attr("disabled")!="disabled") {
						txt += '<img src="' + opt.cbImageOn + '" alt="" id="' + ref + '-checkbox" class="checkbox"' + tit + ' ref="' + ref + '">';
					} else {
						txt += '<img src="' + opt.cbImageDisable + '" alt="" id="' + ref + '-checkbox" class="checkbox"' + tit + ' ref="' + ref + '">'
					}
				} else {
					txt += '<img src="' + opt.cbImageOff + '" alt="" id="' + ref + '-checkbox" class="checkbox"' + tit + ' ref="' + ref + '">';
				};
				
				obj.after(txt);
				
				var chk = wrp.find("#" + ref + "-checkbox");
				
				chk.css("cursor","pointer");
				
				chk.click(function() {								
					trg = $('#'+$(this).attr("ref"));
						
					if(trg.attr("disabled")!="disabled") {
						if(trg.attr("checked")=="checked") {
							trg.removeAttr("checked");
							$(this).attr("src", opt.cbImageOff);
						} else {
							trg.attr("checked","checked");
							$(this).attr("src", opt.cbImageOn);
						};
					
						if (opt.cbCallback!="") {
							opt.cbCallback.call(o=trg);
						}
					};
				});

			});  
		}  
	});  
})(jQuery);

// checkbox reset
(function($){  
	$.fn.extend({  
		cbreset: function(options){   
			var config = {
						cbImageOff:   '/admin/inc/images/icons/checkbox_empty.png', 
						cbImageOn:   '/admin/inc/images/icons/checkbox_checked.png',
						cbImageDisable: '/admin/inc/images/icons/checkbox_disabled.png'
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options;  
				var obj = $(this); 
				var ref = obj.attr("id");
				var wrp = obj.parent();
				var chk;
													
				//img = wrp.find('.checkbox');
				chk = wrp.find('#'+ref+'-checkbox');
				
				if($(this).attr("checked")=="checked") {
					//chk.attr("src", opt.cbImageOn);
					if(obj.attr("disabled")!="disabled") {
						chk.attr("src", opt.cbImageOn);
					} else {
						chk.attr("src", opt.cbImageDisabled);
					}
				} else {
					chk.attr("src", opt.cbImageOff);
				};

			});  
		}  
	});  
})(jQuery);

// filebox
(function($) {
	$.fn.filebox = function (opts) {
		var defaults = {
      		fbHtml: 		'File',
      		fbClass: 		'file-class',
      		fbFake: 		'file-fake',
      		fbWrap: 		'file-wrap',
      		fbSelected: 'selected',
					fbSetValue: true,
	  			fbCallback:	''
    		},
		options = jQuery.extend(defaults, opts || {});

		return this.each(function () {
															 
      var _self = $(this),
          _wrap = $("<span class='" + options.fbWrap + "'></span>"),
          _fakeinput = $("<span class='" + options.fbFake + "'></span>"),
          _selfparent,
          _ph;
					
					// remove previus object
					if(_self.parent().hasClass(options.fbWrap)) {
						_self.unwrap();
						_self.parent().find(".file-fake").remove();
						_self.parent().find(".file-wrap").remove();
						_self.removeAttr("style");
					}
					
					_wrap.css({"position": "relative", "overflow": "hidden", "display": "block"});
					_self.css({"position": "absolute", "margin": 0, "padding": 0, "right": 0, "top": 0, "font-size": "100em", "z-index": 5, "width": "100%", "opacity": 0});
					_fakeinput.append('<span class="file-class">' + options.fbHtml + '</span>');
					_self.wrap(_wrap).after(_fakeinput);

					_selfparent = _self.parent();

      		_fakeinput = $("." + options.fbFake, _selfparent);
      		//_selfparent.css({"height": _fakeinput.height() + "px", "width": _fakeinput.width() + "px"});

      		// trigering change
      		_ph = $("." + options.fbClass, _selfparent);
	  
     		 _self.change(function () {							
						var obj = $(this);
        		if (this.value !== undefined) {
          		_selfparent.addClass(options.fbSelected);
        		}
        		if(options.fbSetValue && _ph.length > 0) {
          		_ph.html(this.value);
          		// change width if is a flexible input
          		_selfparent.css("width", _fakeinput.width() + "px");
        		}
						if (options.fbCallback!="") {
							options.fbCallback.call(o=obj);
						}
				});
				 
		});
	};
})(jQuery);

// barbox
(function($){  
	$.fn.extend({  
		barbox: function(options){  
			var config = {
						bbRange: [30,60,100],
						bbSpeed: 1000,
						bbMode:	 'append'				/* append/insert */
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options;  
				var obj = $(this); 
				var val = obj.attr("prc");
				var cls;
				var wdh;
				var num;
				
				var num_min = opt.bbRange[0];
				var num_med = opt.bbRange[1];
				
				num = parseFloat(val.substring(0,val.length-1).replace(",", "."));
				
				if(num<num_min) {
					cls = 'min';
				} else if(num<num_med) {
					cls = 'med';
				} else {
					cls = 'max';	
				}

				var txt = '';
				txt += '<div class="barbox">';
				txt += '  <div class="bar ' + cls + '"></div>';
				txt += '  <div class="txt">' + val + '</div>';
				txt += '</div>';
				
				obj.find('div.barbox').remove();
				
				if (opt.bbMode == "append")  {
					obj.append(txt);
				} else if (opt.bbMode == "insert")  {
					obj.html(txt);
				}
				
				val = parseFloat(num);
				obj.find('div.barbox div.bar').animate({width: val+'%'}, opt.bbSpeed);

			});  
		}  
	});  
})(jQuery);

// ratebox
(function($){  
	$.fn.extend({  
		ratebox: function(options){    
			var config = {
						rbRateLabel: 'Voto', 
						rbVoteLabel: 'Vota', 
						rbVoteBtn:   'Vota', 
						rbSaveBtn:   'Salva', 
						rbCallback:  ''
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options;  
				var obj = $(this); 
				var ref = obj.attr("id"); 
				var num = Number(obj.attr("num"));
				var val = Number(obj.attr("val"));
				var own = Number(obj.attr("own"));
				var txt = '';
				var vot = 0;
				
				txt += '<div id="' + ref + '-ratebox" class="ratebox">';
				if (own == 0) {
					txt += '<a class="ctrl" title="' + opt.rbVoteBtn + '"></a>';
					txt += '<a class="save" title="' + opt.rbSaveBtn + '"></a>';
				};
				txt += '<ul>'
                txt += '<li class="rate">';
                txt += '<em>' + opt.rbRateLabel + ':</em>';
                txt += '<ul>';
                txt += '  <li></li>';
                txt += '  <li></li>';
                txt += '  <li></li>';
                txt += '  <li></li>';
                txt += '  <li></li>';
                txt += '</ul>';
                txt += '</li>';
                txt += '<li class="vote">';
                txt += '<em>' + opt.rbVoteLabel + ':</em>';
                txt += '<ul>';
                txt += '  <li title="1"></li>';
                txt += '  <li title="2"></li>';
                txt += '  <li title="3"></li>';
                txt += '  <li title="4"></li>';
                txt += '  <li title="5"></li>';
                txt += '</ul>';
                txt += '</li>';
				txt += '</ul>';
              	txt += '</div>';
				
				obj.after(txt);

				var box = $("#" + ref + "-ratebox");
				
				var rate = box.find('.rate');
				var vote = box.find('.vote');
				
				var upd = function() {
					num = Number(obj.attr("num"));
					val = Number(obj.attr("val"));

					var n = rate.find('li').length - 1;
					var k = Math.round(val/num) - 1;
					
					for (var i=0; i<=n; ++i) {
						if (i<=k) {
							rate.find('li').eq(i).addClass("active");
						} else {
							rate.find('li').eq(i).removeClass("active");
						};
					};	
				};
				
				upd();
				
				box.find('a.ctrl').click(function() {
					rate.slideUp();
					$(this).hide();
					box.find('a.save').show();
				});
				
				box.find('a.save').click(function() {
					rate.slideDown();
					$(this).hide();
					if (vot!=0) {
						obj.attr("num", num + 1);
						obj.attr("val", val + vot);
						upd();
						vote_comment(ref.substring(1,ref.length), val);
					} else {
						box.find('a.ctrl').show();
					};
					
					if (opt.rbCallback!="") {
						opt.rbCallback.call();
					}
				});
				
				vote.find('li').click(function() {
					var k = Number($(this).attr('title')) - 1;
					var s = vote.find('li').length - 1;			
					for (var i=0; i<=s; ++i) {
						if (i<=k) {
							vote.find('li').eq(i).addClass("active");
						} else {
							vote.find('li').eq(i).removeClass("active");
						};
					};			
					vot = k+1;
				});
				
			});  
		}  
	});  
})(jQuery);

// ellipsis
(function($){  
		$.fn.extend({  
			ellipsis: function(options){    
			var config = {
						elLines: 	'single',
						elSize: 	1,
						elTarget: 0,
						elCallback: ''
					};  
              
			var options = $.extend(config, options); 
			
			var elRowsNum = function (obj) {
						$(obj).append("<div id='elTemp' style='border:0; margin:0; padding:0; position:absolute; visibility:hidden'>&nbsp;</div>");
						var tmp = $('div#elTemp');
						tmp.css({
							'border':				'none',
							'font-size': 		obj.css('font-size'),
							'font-weight': 	obj.css('font-weight')
						});
						var tmp_line = tmp.innerHeight();
						var tmp_rows = parseInt(obj.innerHeight()/tmp_line); 
						tmp.remove();
						return tmp_rows;
					};
			
			var elSetAttr = function (obj, obj_text, elo, ell, els) {
						obj.attr("elt", obj_text);
						obj.attr("elo", elo);
						obj.attr("ell", ell);
						obj.attr("els", els);
						obj.addClass("ellipsis");
					};
              
			return this.each(function(){
				var opt = options; 
				var obj = $(this);
				var obj_width = obj.innerWidth();
				var obj_height = obj.innerHeight();
				var obj_text = obj.text();
				var obj_rows = elRowsNum(obj);
				var obj_target = "0";
				
				obj_width -= parseInt(obj.css('paddingLeft'));
				obj_width -= parseInt(obj.css('paddingRight'));
				
				if (obj.children().length > 0) {
					if(obj.children().length > 0 && opt.elTarget == 0) {
						obj_target = 1;
					} else {
						obj_target = opt.elTarget;
					};
					obj_text = obj.children().eq(obj_target-1).text();

					if(obj.children().length > 1) {
						for (var i=0; i<=(obj.children().length-1); ++i) {
							if (i!=Number(obj_target)-1) {
								obj_width -= obj.children().eq(i).width();
								obj_width -= parseInt(obj.children().eq(i).css('marginLeft'));
								obj_width -= parseInt(obj.children().eq(i).css('marginRight'));
								obj_width -= parseInt(obj.children().eq(i).css('paddingLeft'));
								obj_width -= parseInt(obj.children().eq(i).css('paddingRight'));
							};
						};	
					};
				};
				
				obj.css('overflow','hidden');
				obj.after("<div id='elClone' style='position:absolute; visibility:hidden; width:auto'>&hellip;</div>");
				
				var tmp = $('div#elClone');
				
				tmp.css({
					'border':				'none',
					'font-size': 		obj.css('font-size'),
					'font-weight': 	obj.css('font-weight'), 
					'line-height': 	obj.css('line-height'),
					'margin':				0,
					'padding': 			0
				});

				tmp.html(obj_text);

				if (opt.elLines == 'single') {
					tmp.css('white-space','nowrap');
				} else if (opt.elLines == 'multi') {
					tmp.width(obj.width());
				};	
				
				var tmp_text = tmp.text();
				var tmp_rows = elRowsNum(tmp);	
				
				if (opt.elLines == 'single' && tmp_text.length > 0 && tmp.width() > obj_width) {
						
					elSetAttr(obj, obj_text, obj_target, opt.elLines, opt.elSize);
					
					if (obj.children().length > 0) {
						obj = obj.children().eq(obj_target-1);
					};
					
					tmp_text = tmp_text.substr(0, parseInt(tmp_text.length/tmp.width()*obj_width));
					tmp.html(tmp_text + "&hellip;");
					
					while(tmp_text.length > 0 && tmp.width() > obj_width){
						tmp_text = tmp_text.substr(0, tmp_text.length - opt.elSize);
						tmp.html(tmp_text + "&hellip;");
					}
					
					obj.html(tmp.html());
					
				} else if (opt.elLines == 'multi' && tmp_text.length > 0 && tmp_rows > obj_rows) {
					
					elSetAttr(obj, obj_text, obj_target, opt.elLines, opt.elSize);
					
					if (obj.children().length > 0) {
						obj = obj.children().eq(obj_target-1);
					};

					tmp_text = tmp_text.substr(0, parseInt(tmp_text.length * (obj_rows + 0.95) / tmp_rows));
					tmp.html(tmp_text + "&hellip;");
					tmp_rows =  elRowsNum(tmp);
					
					while(tmp_text.length > 0 && tmp_rows > obj_rows) {
						tmp_text = tmp_text.substr(0, tmp_text.length - opt.elSize);
						tmp.html(tmp_text + "&hellip;");
						tmp_rows = elRowsNum(tmp);
					};

					obj.html(tmp.html());
					
				}
				
				tmp.remove(); 
				
				if (opt.elCallback!="") {
					opt.elCallback.call(o=obj);
				}
			});  
		}  
	});  
})(jQuery);

// ellipsis reset
(function($){  
	$.fn.extend({  
		elreset: function(options){  
			var config = {};  
			var options = $.extend(config, options);  
              
			return this.each(function(){  
				var opt = options; 
				var obj = $(this);
				var obj_target = obj.attr("elo");
				
				if (obj_target=="0") {
					obj.html(obj.attr("elt"));
				} else {
					obj.children().eq(Number(obj_target)-1).html(obj.attr("elt"));
				}
				
				obj.removeAttr("elt");
				obj.removeAttr("elo");
				obj.removeAttr("ell");
				obj.removeAttr("els");
				obj.removeClass("ellipsis");
			});  
		}  
	});  
})(jQuery);

// scrollbar
(function($){  
		$.fn.extend({  
			scrollbar: function(options){    
			var config = {
				scScroller: 	'div.scroller', 
				scHandler:		'div.slider'
			};  
              
			var options = $.extend(config, options); 
              
			return this.each(function(){
				var opt = options;
				var obj = $(this);
				var scr = obj.find(opt.scScroller);
				var cnt = scr.children(); 
				var hdl = obj.find(opt.scHandler);
				var dlt = cnt.outerHeight(true)-scr.outerHeight(true); 
				var rat = dlt;
				var hht = Math.round((1-rat)*scr.outerHeight(true));
				hht -= hht%2;
				
				scr.css({
					position: 'relative'
				});
				
				cnt.css({
					position: 'absolute',
					top: 0,
					left: 0
				});
				 
				hdl.slider({
					orientation: 'vertical',
					min: 0,
					max: 100,
					value: 100,
					slide: function(event, ui) {
						 var topValue = -parseInt((100-ui.value)*dlt/100); 
						 cnt.css({top:topValue});
					},
					change: function(event, ui) {
						 var topValue = -parseInt((100-ui.value)*dlt/100);
						 cnt.css({top:topValue});
					}
				});
				
				hdl.find(".ui-slider").click(function(event){event.stopPropagation();});
					 
				hdl.parent().click(function(event){
						var offsetTop = $(this).offset().top;
						var clickValue = (event.pageY-offsetTop)*100/$(this).height();
						$(this).find("div.slider").slider("value", 100-clickValue);
				});
			});  
		}  
	});  
})(jQuery);

// shadow
(function($){  
	$.fn.extend({  
		shadow: function(options){    
			var config = {
						shMode: 'br',
						shSizeX: 1,
						shSizeY: 1
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){
				var opt = options; 
				var obj = $(this);
				var tmp;
				var shw;
				var txt;
				var mvx;
				var mvy;
				
				// remove previus object
				if(obj.find("div.object").size()>0){
					obj.html(obj.find("div.object").html());
				}
				
				obj.css({
					'height':			obj.height(),
					'overflow': 	'hidden',
					'position':   'relative'
				});
				
				txt = '';
				txt += '<div class="shadow" style="position:absolute; width:auto">';
				txt += obj.html();
				txt += '</div>';
				txt += '<div class="object" style="position:absolute; width:auto">';
				txt += obj.html();
				txt += '</div>';
				
				obj.html(txt);

				tmp = obj.find("div.object");
				shw = obj.find("div.shadow");
				
				tmp.css({
					'background': 	'none',
					'border':				'none',
					'color': 				obj.css('color'),
					'font-family': 	obj.css('font-family'),
					'font-size': 		obj.css('font-size'),
					'font-weight': 	obj.css('font-weight'), 
					'height': 			obj.css('height'),
					'line-height': 	obj.css('line-height'),
					'left':					0,
					'margin':				0,
					'overflow': 		'hidden',
					'padding': 			0,
					'text-align':		obj.css('text-align'),
					'top':					0,
					'width':				obj.css('width'),
					'z-index':			5
				});
				
				shw.css({
					'background': 	'none',
					'border':				'none',
					'font-family': 	obj.css('font-family'),
					'font-size': 		obj.css('font-size'),
					'font-weight': 	obj.css('font-weight'), 
					'height': 			obj.css('height'),
					'line-height': 	obj.css('line-height'),
					'left':					0,
					'margin':				0,
					'overflow': 		'hidden',
					'padding': 			0,
					'text-align':		obj.css('text-align'),
					'top':					0,
					'width':				obj.css('width'),
					'z-index':			1
				});
				
				if (opt.shMode == 'br') {
					shw.css({
						'margin': opt.shSizeY + 'px 0 0 ' + opt.shSizeX + 'px'
					});
				} else if (opt.shMode == 'bl') {
					shw.css({
						'margin': opt.shSizeY + 'px 0 0 -' + opt.shSizeX + 'px'
					});
				} else if (opt.shMode == 'tl') {
					shw.css({
						'margin': '-' + opt.shSizeY + 'px 0 0 -' + opt.shSizeX + 'px'
					});
				} else if (opt.shMode == 'tr') {
					shw.css({
						'margin': '-' + opt.shSizeY + 'px 0 0 ' + opt.shSizeX + 'px'
					});
				};
			});  
		}  
	});  
})(jQuery);

// text
(function($){  
    $.fn.ctrltext = function(k) {
		var obj = $(this);
		return this.each(function(){ 
			if (k==1) {
				if (navigator.userAgent.indexOf ('MSIE') != -1) {
					obj.bind('selectstart', function() {return false;});
				} else if(navigator.userAgent.indexOf ('Gecko') != -1) {
					obj.css('MozUserSelect','none');
					obj.bind('selectstart', function() {return false;});
				} else {
					obj.mousedown(function() {return false;});
				}
			} else {
				if (navigator.userAgent.indexOf ('MSIE') != -1) {
					obj.unbind('selectstart');
				} else if(navigator.userAgent.indexOf ('Gecko') != -1) {
					obj.css('MozUserSelect','');
					obj.unbind('selectstart');
				} else {
					obj.mousedown(function() {return true;});
				}
			}
		});
	} 
})(jQuery);

// popup
(function($) {
	$.popup = function(url, dimentions, resizable, scrollbars) { 
		var opt  	= "";
		var dim 	= dimentions.split('x');
		var w 		= Number(dim[0]);
		var h 		= Number(dim[1]);
		var x 		= (screen.width) ? parseInt((screen.width-w)/2) : 0; 
		var	y	 		= (screen.height) ? parseInt((screen.height-h)/2) : 0; 
	
		opt += "width=" + w;
		opt += ",height=" + h;
		opt += ",top=" + y;
		opt += ",left=" + x;
		opt += ",resizable=" + Number(resizable);
		opt += ",scrollbars=" + Number(scrollbars);
		opt += ",directories=0,toolbar=0,menubar=0,location=0,status=0,titlebar=0,toolbar=0";
		
		window.open(url, '_blank', opt);
	};
})(jQuery);

// center
(function($){ 
$.fn.extend({  
		center: function(options){    
			var config = {};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){
																
				var opt = options; 					
				var obj = $(this); 
				var wrp = obj.parent();
				
				var mrg = parseInt((wrp.width()-obj.width())/2);
				obj.css("marginLeft", mrg+"px");
				
			});  
		}  
	});  
})(jQuery);

// clock
(function($){ 
$.fn.extend({  
		clock: function(options){    
			var config = {
					ckSepDate: '/',
					ckSepVoid: '&nbsp;',
					ckSepTime: '.'
					};  
              
			var options = $.extend(config, options);  
              
			return this.each(function(){
				
				var opt = options; 
																
				var obj = $(this); 
				var now = new Date();
				var hh = now.getHours();
				var mm = now.getMinutes();
				var ss = now.getSeconds();
				var day = now.getDate();
				var month = now.getMonth()+1;
				var year = now.getFullYear();
				
				var tmp = '';
				tmp += '<div class="date">';
				tmp += '<span class="day">' + ((day < 10) ? '0' : '') + day + '</span>';
				tmp += '<span class="sep date">' + opt.ckSepDate + '</span>'; 
				tmp += '<span class="month">' + ((month < 10) ? '0' : '') + month + '</span>';
				tmp += '<span class="sep date">' + opt.ckSepDate + '</span>'; 
				tmp += '<span class="year">' + year + '</span>';
				tmp += '</div>';
				tmp += '<span class="sep void">' + opt.ckSepVoid + '</span>';
				tmp += '<div class="time">'; 
				tmp += '<span class="hours">' + ((hh < 10) ? '0' : '') + hh + '</span>';
				tmp += '<span class="sep time">' + opt.ckSepTime + '</span>'; 
				tmp += '<span class="minutes">' + ((mm < 10) ? '0' : '') + mm + '</span>';
				tmp += '<span class="sep time">' + opt.ckSepTime + '</span>'; 
				tmp += '<span class="seconds">' + ((ss < 10) ? '0' : '') + ss + '</span>';
				tmp += '</div>';
				
				obj.html(tmp);
				
			});  

		}  
	});  
})(jQuery);

(function($) {
	$.fn.setcursorpos = function(pos) {
		$(this).each(function(index, elem) {
			if (elem.setSelectionRange) {
				elem.setSelectionRange(pos, pos);
			} else if (elem.createTextRange) {
				var range = elem.createTextRange();
				range.collapse(true);
				range.moveEnd('character', pos);
				range.moveStart('character', pos);
				range.select();
			}
		});
		return this;
	};
})(jQuery);

(function($) {
	$.fn.getcursorpos = function(pos) {
		var pos = 0;
    var elem = $(this).get(0);
		
    if (document.selection) {
				elem.focus();
				var range = document.selection.createRange();
				var stored_range = range.duplicate();
				stored_range.moveToElementText(elem);
				stored_range.setEndPoint( 'EndToEnd', range );
				pos = stored_range.text.length - range.text.length;
    } else if (elem.selectionStart || elem.selectionStart == '0') {
        pos = elem.selectionStart;
		}
    return pos;
	};
})(jQuery);

var qsform = function(form) {
	var objectArray =  $(form).serializeArray();
	var query_string = "";
	for(var i = 0; i < objectArray.length; i++) {
		query_string += "&" + objectArray[i]["name"] + "=" + escape(objectArray[i]["value"]);
	}
	return query_string;
}

var clform = function(form) {
	$(form+" input").each(function(){
		var obj = $(this);
		if(obj.val()==obj.attr("label")){
			obj.val('');
		}
	});
	$(form+" textarea").each(function(){
		var obj = $(this);
		if(obj.val()==obj.attr("label")){
			obj.val('');
		}
	})
}
