// Gallery Class

var gallery;

function Gallery( pos, alb, admn, rt)

{

	instance = this;

	globalDrag = null;

	position = pos;

	album = alb;

	admin = admn;

	root = rt;



	$(".message .close").click( this.messageClose );

}

Gallery.prototype.loadThumbnails = function(obj, size) {

	$(obj).each( function(){

		var img = new Image();

		url = $(this).attr('href');

		start = url.indexOf(root);

		url = url.substr(start);

		var src = './includes/scripts/thumbnail.php?file=' + url + '&maxsize=' + size;

		$(this).html('<div class="loading"></div>');

		var thumbnail = $(this);

		$(img).load(function () {

			$(this).hide();

			thumbnail.html(this);

			$(this).fadeIn();

			}).attr('src', src);

	});



}

Gallery.prototype.setPreview = function(obj, preview ){

	

	$(obj).hover(

			function(){

				var label = $(this).parent().find('strong').text();

				$('#bigTitle').text(label);
				
				var src = $(this).find('img').attr('src');

				prevSrc = $(preview).find('img').attr('src');

				newMaxSize = prevSrc.substring(prevSrc.indexOf('&maxsize='));

				oldMaxSize = src.substring(src.indexOf('&maxsize='));

				var new_src  = src.replace(oldMaxSize, newMaxSize);

				var new_href = src.substring( src.indexOf('files'), src.indexOf('&maxsize') );

				$(this).find('img').fadeTo(200, 0.6);

				if( new_src != $(preview).find('img').attr('src') )

				{

					$(preview).find('a').html('');

					$(preview).addClass('loading');				

					var img = new Image();

					$(img).load(function(){

						$(this).hide();

						$(preview).find('a').html(this);

						$(this).fadeIn();

						$(preview).removeClass('loading');

						$(preview).find('a').attr('href', new_href);

					}).attr('src', new_src );

				}

			},

			function(){

				$(this).find('img').fadeTo(200, 1);

			}

		);



}

Gallery.prototype.noAction = function(obj){

	$(obj).click( function (){ return false;});

}



Gallery.prototype.messageClose = function() {

	$(".message .close").parent().hide();

}

Gallery.prototype.applyThickBox = function() {

	var tb_pathToImage = "images/gallery/loadingAnimation.gif";

	eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<U 5=\'1F\'></U><4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' /></4>");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D<E.1c)&&(R===""));D++){6 k=E[D].u.1C().2h(i);3(!(E[D].u==f)){3(1r){1z=E[D].Q;1x=E[D].u;R="<1e 5=\'1X\'>&1d;&1d;<a u=\'#\'>2T &2R;</a></1e>"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;<a u=\'#\'>&2O; 2N</a></1e>"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<a u=\'\' 5=\'1L\' Q=\'1o\'><1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/></a>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"</4></4><4 5=\'2A\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4>");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4></4><U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\' > </U>")}n{$("#B").N();$("#8").q("<U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\'> </U>")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\'>1l</a> 1k 1j 1s</4></4><4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'></4>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'></4>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i<c.1c;i++){6 d=c[i].1B(\'=\');3(!d||d.1c!=2){39}6 e=2a(d[0]);6 f=2a(d[1]);f=f.2r(/\\+/g,\' \');b[e]=f}H b}9 2x(){6 a=o.2M;6 w=1S.2o||1R.2o||(a&&a.1Q)||o.v.1Q;6 h=1S.1P||1R.1P||(a&&a.2n)||o.v.2n;1O=[w,h];H 1O}9 1K(){6 a=2K.2J.1C();3(a.O(\'2I\')!=-1&&a.O(\'3o\')!=-1){H 1b}}',62,211,'|||if|div|id|var||TB_window|function||||||||||||||else|document|px|append|css|click||href|body||||width|height|TB_overlay|remove|TB_Counter|TB_TempArray|TB_ajaxContent|tb_remove|return|keycode|style|TB_load|src|null|unbind|indexOf|false|title|TB_NextHTML|imgPreloader|block|iframe|ajaxContentH|ajaxContentW|this|display|TB_closeWindowButton||html|goPrev|TB_WIDTH|TB_PrevHTML|TB_iframeContent|tb_position||thickbox|tb_show|TB_HEIGHT|true|length|nbsp|span|Math|onload|onkeydown|goNext|Esc|or|close|tb_showIframe|TB_imageCount|Close|new|browser|TB_FoundURL|Key|Image|tb_init|name|imgLoader|TB_NextURL|random|TB_NextCaption|modal|split|toLowerCase|TB_PrevCaption|urlNoQuery|TB_HideSelect|TB_PrevURL|TB_ajaxWindowTitle|img|addClass|tb_detectMacXFF|TB_ImageOff|150|rel|arrayPageSize|innerHeight|clientWidth|self|window|children|TB_prev|jQuery|frameborder|TB_next|getElementById|auto|parseInt|onkeyup|overflow|alt|unload|for|inlineId||100||unescape|1000|round|hspace|TB_closeAjaxWindow|TB_title|undefined|match|maxHeight|TB_iframe|bmp|gif|png|clientHeight|innerWidth|tb_parseQuery|jpeg|replace|jpg|typeof|which|keyCode|event|tb_getPageSize|show|TB_overlayBG|TB_closeWindow|TB_overlayMacFFBGHack|TB_secondLine|TB_caption|blur|TB_Image|60|tb_pathToImage|mac|userAgent|navigator|of|documentElement|Prev|lt|version|msie|gt|ready|Next|marginLeft|trigger|fast|fadeOut|TB_imageOff|hidden||catch|getTime|Date|load|safari|get|TB_inline|marginTop|continue|scrollTop|TB_modal|class|TB_|45|440|40|630|input|188|190|substr|try|area|firefox'.split('|'),0,{}))

}



Gallery.prototype.setReloadTarget = function(obj, place){

	

	$(obj).click(

			function()

			{



				getVariables = '';

				href = $(this).attr('href');

				getstart = href.indexOf('?');

				if( getstart > 0 ) {

					getVariables = href.substring( getstart );

				} 

				else {

					getVariables = '';

				}

				

				getVariables = getVariables + '&target=' + place.substring(1);				

				 $.ajax({ 

				   type: "GET", 

				   dataType: 'html',

				   url: "includes/scripts/gallery.script.php", 

				   data: getVariables, 

				   success: function(msg){ 

//				    if($(place).find('tbody')){

						

						$(place + ' tbody').html(msg);

						

//					}

//					else{

//						$(place).html(msg);

//					}

					

				    

	

				   } 

				 });
				return false;

			}

	

	);



	

}

Gallery.prototype.setReloadGallery = function( obj ) {

	

	$(obj).click(

			function()

			{

				getVariables = '';

				href = $(this).attr('href');

				getstart = href.indexOf('?');

				if( getstart > 0 ) {

					getVariables = href.substring( getstart );

				} 

				else {

					getVariables = '';

				}



				$('#gallery-container').load('includes/scripts/gallery.script.php'+ getVariables );

				
				return false;

			}

	

	);



	



}

Gallery.prototype.setDraggable = function(obj, droppables, hovers, callbacks) {

	

	if( admin == true )

	{

		$(obj).draggable({

			helper: "clone",

			ghosting: true, 

			opacity: 0.7,

			start:function(){

				i = 0; 

				while(droppables[i]){

					$(droppables[i]).droppable("destroy");

					if(callbacks[i]){

						instance.setDroppable(droppables[i], obj, hovers[i], callbacks[i]);

					}

					i++;

				}

			

			},

			stop: function(a, ui){



				if(document.documentElement.scrollTop){

			 		val = document.documentElement.scrollTop;

				}

				else{

					val = document.body.scrollTop;

				}

				//offset = ui.helper.offset();			

				

//				alert($(this).height() +offset.top - val);				



			//	alert($(window).height())

			},

			drag: function(a , ui) {

//				alert('setting draggable');

				//alert($(this).width());

				//alert($(this).height());

				

				

				if(document.documentElement.scrollTop){

			 		val = document.documentElement.scrollTop;

				}

				else{

					val = document.body.scrollTop;

				}

				offset = ui.helper.offset();			

				if( ($(this).height() + offset.top - val) >= $(window).height()){

					//$.scrollTo(offset.top - $(this).height(), 1000 );

				}

				



				globalDrag = $(this);

			}

		});

	}

}

Gallery.prototype.setDroppable = function(obj, accepted, hover, callback) {



	if( admin == true )

	{	

		if(!hover) 

		{

			hover = 'droppable-hover';

		}

		// else {

//			var hoverClass = 'droppable-insert';

		//}

		 

		$(obj).droppable({ 

		 accept: accepted,

		 hoverClass: hover,

		 tolerance: 'pointer',

		 drop: function(ev, ui) 

		 {	

		 	callback.call(this, $(this));

		 }

		});		

	}	

}

Gallery.prototype.swapId = function(obj){

	dragvalue = globalDrag.find('a').attr('id');

	sep = dragvalue.indexOf('ID')

	type = dragvalue.substring(0 , sep);

	dragvalue = dragvalue.substring(sep + 2);

	

	dropvalue = obj.find('a').attr('id');

	sep = dropvalue.indexOf('ID')

	type = dropvalue.substring(0 , sep);

	dropvalue = dropvalue.substring(sep + 2);

	if(type == 'photo'){

		target = 'photos';

}

	else if(type =='album'){

		target = 'albums';

	}

	var get = "?position=" + position + "&album=" + album + "&action=order&drag=" + dragvalue + "&drop=" + dropvalue + "&type=" + type + "&target=" + target;
	alert(get);
	if(!target){

		$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

	}

	else{

		$('#' + target + ' tbody').load('includes/scripts/gallery.script.php'+ get);

	}

	return false;

}



Gallery.prototype.me = function (){

	alert('me');

}





function print_r(theObj){

  if(theObj.constructor == Array ||

     theObj.constructor == Object){

    document.write("<ul>")

    for(var p in theObj){

      if(theObj[p].constructor == Array||

         theObj[p].constructor == Object){

document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");

        document.write("<ul>")

        print_r(theObj[p]);

        document.write("</ul>")

      } else {

document.write("<li>["+p+"] => "+theObj[p]+"</li>");

      }

    }

    document.write("</ul>")

  }

}





Gallery.prototype.dropImageToAlbum = function(obj) {

	dragvalue = globalDrag.find('a').attr('id');

	sep = dragvalue.indexOf('ID')

	type = dragvalue.substring(0 , sep);

	dragvalue = dragvalue.substring(sep + 2);

	

	dropvalue = obj.find('a').attr('id');

	sep = dropvalue.indexOf('ID')

	type = dropvalue.substring(0 , sep);

	dropvalue = dropvalue.substring(sep + 2);

	var get = "?position=" + position + "&album=" + album + "&action=move&drag=" + dragvalue + "&drop=" + dropvalue + "&type=album";

	

	$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

	

}



Gallery.prototype.dropTrash = function() {

	dragvalue = globalDrag.find('a').attr('id');

	sep = dragvalue.indexOf('ID')

	type = dragvalue.substring(0 , sep);

	dragvalue = dragvalue.substring(sep + 2);

	extra = "&type=" + type;

	var get = "?position=" + position + "&album=" + album + "&action=trash&drag=" + dragvalue + extra;



	$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

}

Gallery.prototype.dropAlbumToTrash = function() {

	dragvalue = globalDrag.find('a').attr('id').substring(6);

//var dragvalue = globalDrag.text();

//		dragvalue = globalDrag.attr("href");

//		dragvalue = dragvalue.substring(dragvalue.indexOf("album=") + 6);

	extra = "&type=album";

	var get = "?position=" + position + "&album=" + album + "&action=trash&drag=" + dragvalue + extra;	

	

	$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

}

Gallery.prototype.dropRestore = function() 

{

	dragvalue = globalDrag.find('a').attr('id');

	sep = dragvalue.indexOf('ID')

	type = dragvalue.substring(0 , sep);

	dragvalue = dragvalue.substring(sep + 2);

	extra = "&type=" + type;

	var get = "?position=" + position + "&action=restore&drag=" + dragvalue + extra;

	

	$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

}



Gallery.prototype.dropAlbumRestore = function() {

	dragvalue = globalDrag.find('a').attr('id').substring(6);

	var extra;

	extra = "&type=album";

	var get = "?position=" + position + "&action=restore&drag=" + dragvalue + extra;

	

	$('#gallery-container').load('includes/scripts/gallery.script.php'+ get);

}





function LoadPhotos(pos, albm)

{

	

	$.ajax({

		url: 'includes/scripts/gallery.script.php?position='+ pos + '&album=' + albm,

		type: 'GET',

		dataType: 'html',

		success: function(data) {

			$('#gallery-container').html(data);

		}

	});



}

