// Artician Browse Application
// Code By Brandon Lis, and Eric Zhivalyuk
// Copyright © 2007 Artician, LLC.
/* Media Types
	1 Image
	2 Flash
	3 Skins
	4 Web Design
	5 Icons and Logos
	6 Fonts
	7 Literature
	8 Artisan Crafts
*/

var BrowseThumbSize=75;
var UserLoggedIN=false;
var BrowseCookieDefaultExpire=2592000;
var jsTEMPLATEsyntax = /(^|.|\r|\n)({%=\s*(\w+)\s*%})/;
var browsevars=new Hash();
var mediatypename='';
var mediatypeid=0;
var browsecatselector = '';
var browsestyleselector = '';


//Browse Tabs
function browseTabs(id) {
	buttons = new Array('bt_dashboard','bt_featured','bt_pro','bt_watchlist','bt_newest');
	activeClass = 'current';
	inactiveClass = null;
	for(i=0;i<buttons.length;i++) {
		if(i==(id-1)) {
			 if($(buttons[i])) $(buttons[i]).addClassName(activeClass);
		}
		else {
			 if($(buttons[i])) $(buttons[i]).removeClassName(activeClass);
		}
		if(id ==1){
			$('xsBrowseLeft').addClassName(activeClass);	
		}
		else {
			$('xsBrowseLeft').removeClassName(activeClass);	
		}
	}
}

/************************************************/
/*	Handle Adding and Removing from Dashboard	*/
/************************************************/
function browsedb (type,id) {
	new Ajax.Request('/ajax/browse/?action='+type,{
		method: 'post',
		parameters:{'eopt':$('moduler_'+id).getAttribute("ajaxID")},
		onSuccess: function(transport) {
			if (type == 'add') { $('mod_addbb_'+id).hide();$('mod_removebb_'+id).show(); }
			else { $('mod_addbb_'+id).show();$('mod_removebb_'+id).hide(); }
		}
	});
}

//Browse Navigator
function navigateBrowseOnload(id) {

}

function BrowseisChecked(a) {

}

/************************************************/
/*				Parse Browse Criteria			*/
/************************************************/

function changeBrowseOrder(val) {
	if (val == 'title') { $('browseOrder').selectedIndex=0; }
	else { $('browseOrder').selectedIndex=1; }
}

/************************************************/
/*			Handle Browse License Criteria		*/
/************************************************/
function setLicenseGroup(val) {
	if(val == 'onlycc') { Effect.Appear('browse_creativeCommons',{duration:0.3}); }
	else { $('browse_creativeCommons').hide(); }
}
function getLicense() {
	//cEins,cZwei
	var nc = true, nd = true, sa = false;
	
	if ($('commercialUseTrue') && $('commercialUseTrue').checked) { cEins = 1; } else { cEins = 0; }
	
	if ($('modificationsTrue') && $('modificationsTrue').checked) { cZwei = 1; }
	else if ($('modificationsShare') && $('modificationsShare').checked) { cZwei = 2; }
	else { cZwei = 0; }

	license = 0;
	//nc = no commercial
	//nd = no derivatives
	//sa = share alike
	cEins = parseInt(cEins);
	cZwei = parseInt(cZwei);
	//Allow commercial work?
	if(cEins === 0) {nc=true;} //No
	if(cEins === 1) {nc=false;} //Yes
	//Allow modification?
	if(cZwei === 0) {nd=true;sa=false;} //No
	if(cZwei === 1) {nd=false;sa=false;} //Yes
	if(cZwei === 2) {nd=false;sa=true;} //Share-Alike
	
	//Figure out which license
	if(!nc && !nd && !sa) {license=1;} //Attribution
	if(!nc && nd && !sa) {license=2;} //Attribution-NoDerivs
	if(nc && nd && !sa) {license=3;} //Attribution-NonCommercial-NoDerivs
	if(nc && !nd && !sa) {license=4;} //Attribution-NonCommercial
	if(nc && !nd && sa) {license=5;} //Attribution-NonCommercial-ShareAlike
	if(!nc && !nd && sa) {license=6;} //Attribution-ShareAlike
	
	//Set hidden variable for passing
	return license;
}

/************************************************/
/*				Browse Pagination				*/
/************************************************/
//Paginate Next
function NextPage() {
	if ($('pagenation')) {
		var pagenation = $('pagenation').getElementsBySelector('.next');
		if (pagenation.length != '0') {
			document.location.href = pagenation[0].href;
		}
	}
}


//Paginate Prev
function PrevPage() {
	if ($('pagenation')) {
		var pagenation = $('pagenation').getElementsBySelector('.prev');
		if (pagenation.length != '0') {
			document.location.href = pagenation[0].href;
		}
	}
}

/************************************************/
/*			Browse Thumbnail View Handler		*/
/************************************************/
function ChangeThumbnailView(view,vars,moduler) {
	if (view != 'tile' && view != 'grid') { return false; }
	var bwork = $('bwork_'+moduler).select('ul')[0];
	var url = '/json/browse/?view='+view;
	var htmltoadd='';
	new Ajax.Request(url, {
			method: 'post',
			parameters:vars,
			onSuccess: function(transport) {
				bwork.update('');
				var jsonresult = transport.responseText.evalJSON();
				var rsJSON = jsonresult.data;
				for (var i = 0; i < rsJSON.length; i++) {
					if  (rsJSON[i].mature=='1') {
						var Subimage = 'http://s.artician.com/images/section/browse/maturecontent.#{THUMBSIZE}.png'.interpolate({ 'THUMBSIZE': BrowseThumbSize });
					}
					else {
						var Subimage = 'http://m.artician.com/pu/#{file}'.interpolate({ 'file': rsJSON[i].file }).replace('\.75\.','.'+BrowseThumbSize+'.');
					}

					if (view == 'tile') {
						Element.insert(bwork, { bottom: TileViewTemplate.evaluate({
								image: Subimage,
								link: rsJSON[i].link,
								title: rsJSON[i].title,
								ID: rsJSON[i].id,
								file: rsJSON[i].file,
								username: rsJSON[i].username,
								styles: rsJSON[i].styles,
								mediatype: rsJSON[i].mediatype,
								category: rsJSON[i].category,
								description: rsJSON[i].description,
								userlink: rsJSON[i].userlink,
								fulldescription: rsJSON[i].fulldescription,
								date: rsJSON[i].date
							})
						});
					}
					else {
						Element.insert(bwork, { bottom: GridViewTemplate.evaluate({image: Subimage, link: rsJSON[i].link,title: rsJSON[i].title, ID: rsJSON[i].id, file: rsJSON[i].file,username: rsJSON[i].username, userlink: rsJSON[i].userlink, date: rsJSON[i].date,category: rsJSON[i].category}) });
					}
				}
			}
		}
	);
	$('moduler_'+moduler).up(0).select('.tileThumb').invoke('toggle');
	$('moduler_'+moduler).up(0).select('.gridThumb').invoke('toggle');
}


/************************************************/
/*			Browse Thumbnail Handler			*/
/************************************************/
//Thumbnail Size
function ChangePageThumbnailSize(size) {
	if (size != 75 && size != 150) { return false; }
	if (size == 150) { var findsize=75;	var changeto='work150'; var Modulars = $$('.work');	}
	else if (size == 75) { var findsize=150; var changeto='work'; var Modulars = $$('.work150'); }
	BrowseThumbSize=size;
	Modulars.each(function(modular) {
		$(modular).className=changeto;
		var BrowseImages = $(modular).getElementsBySelector('img');
		BrowseImages.each(function(thisimage) {
			var imgsrc=thisimage.src;
			thisimage.src=imgsrc.replace('\.'+findsize+'\.', '.'+size+'.');
		});
	});
}

//Set Thumbnail Size
function setThumbnailSize(size) {
	new Ajax.Request('/ajax/browse/?action=change_thumbsize&size='+size,{ method: 'get',
		onSuccess: function(transport) {
			if (417 != transport.status) {
				BrowseThumbSize=size;
				ChangePageThumbnailSize(size);
				//window.location.reload();
			}
		}
	});
				
}

function sendDEBUG(value) {
	if (typeof (console.log)!='undefined') { console.log("DEBUG: %s", value); }
	else { alert("DEBUG: "+value); }
}

/************************************************/
/*				Browse Initializer 				*/
/************************************************/
var articiansbrowse = Class.create();
articiansbrowse.prototype = {
	defaultlimit:30,
	currentlimit:30,
    placemarker:0,
    page:null,
	sortby:'newest',
	liheight:30,
	cache:$H({}),
	anchorholderid:'articianbrowseanchors',
	browsing:false,
	hash:'',
	slideactive:false,
	panelid:'browsePanel',
	mL:'mediaList',
	cL:'catlist',
	mediatypeid:0,
	catid:0,
	mediatype:'',
	cat:'',
	scat:'',
	initialize: function() {
		this.cfh = this.cfh.bindAsEventListener(this);
		this.HashCheckInterval = new PeriodicalExecuter(this.cfh, 0.5);
	},
	/************************************************/
	/*	Generate Browse Ajax Call / Set & Get Cache	*/
	/************************************************/
	ajax:function(b,c,d) {    
		var b = b.replace(/\ /g,'%20');
		var self = this;
		var cache = this.cache.get(b);
		if (cache) {
			try { self.generatetemplates(cache.transport,c); } catch(ex) { }
			scrollTo(0, 0);
			if (typeof(d) == 'function') setTimeout(d, 10);
			setTimeout(initModals,0);
			return;
		}
		
		overLoader('show','bar','Loading Submissions..',-30,80);
		var a = '/json/browse/?action=ajax'+((c)?'&pl=1':'');
		new Ajax.Request(a, {
				method: 'post',
				parameters:b.replace(/\+/g,' '),
				onSuccess:function(transport){
					self.cache.set(b,{'transport':transport.responseJSON,'timestamp':new Date().getTime()});
					self.generatetemplates(transport.responseJSON,c);
					//resetAddThis();
				},
				onComplete: function() {
					overLoader('hide');
					initModals();
					if (typeof(d) == 'function') setTimeout(d, 10);
					//_a();
					//_b();
					//_c();
					//_d();
					_e();
				}
			}
		);
	},

	/************************************************/
	/*		Handle / Retrieve Rel Attributes		*/
	/************************************************/
	jump:function(link,pl) {
		var linkhash = $(link).getAttribute('rel');
        var params = linkhash.toQueryParams();
        var page = parseInt(params['pg']);
        if(page>0) {
            this.placemarker = ( (page - 1) * this.currentlimit) + 1;
            this.page = page;
        }
		this.browse(linkhash,pl);
	},
	ch:function(link) {
		var linkhash = $(link).getAttribute('rel');
		this.ck(linkhash);
	},
	/************************************************/
	/*			Create / Update Anchor URL			*/
	/************************************************/
	ck:function(linkhash) {
		var anchorname = 'browse='+linkhash;
		if (!$(this.anchorholderid)) {
			$(document.body).insert({ bottom: '<a id="'+this.anchorholderid+'" name="'+anchorname+'" style="display:none"></div>'});
		} else {
			$(this.anchorholderid).writeAttribute('name',anchorname);
		}
	},
	/************************************************/
	/*				Browse Hash Checker				*/
	/************************************************/
	cfh:function() {
		if (!this.browsing) {
			var tA = location.hash;
			if (tA.match(/^#browse=/)) {
				var browseloc = tA.replace(/^(.*)#browse=/g,'').replace(/\ /g,'%20');
				if (browseloc != this.hash) {
					this.browse(browseloc,1);
				}
			}
		}
	},
	/************************************************/
	/*		Set Browse Hash	and Retreive Grid		*/
	/************************************************/
	browse:function(linkhash,pl,callback) {
		this.browsing = true;
		this.hash = linkhash.replace(/\ /g,'%20');
		window.location.hash = 'browse='+linkhash;
		this.ajax(linkhash,pl,callback);
		this.browsing = false;
	},
	/************************************************/
	/*			Generate Browse Templates			*/
	/************************************************/
	generatetemplates:function(responseJSON) {
		var view = 'grid';
		var rsJSON = responseJSON;
		var rsDATA = rsJSON.WORK;
		var Add = AddBrowseTemplate.evaluate({'moduler_id':rsJSON.MODULER_ID,'style':((rsJSON.HASMODULER == true)?'style="display:none"':'')});
		var Rem = RemoveBrowseTemplate.evaluate({'moduler_id':rsJSON.MODULER_ID,'style':((rsJSON.HASMODULER == true)?'':'style="display:none"')});

		var datahtml = '';
		for (var i = 0; i < rsDATA.length; i++) {
			if  (rsDATA[i].mature=='1') { var Subimage = 'http://s.artician.com/images/section/browse/maturecontent.#{THUMBSIZE}.png'.interpolate({ 'THUMBSIZE': BrowseThumbSize }); }
			else { var Subimage = 'http://m.artician.com/pu/#{file}'.interpolate({ 'file': rsDATA[i].file }).replace('\.75\.','.'+BrowseThumbSize+'.'); }

			if (view == 'tile') { datahtml += TileViewTemplate.evaluate({image: Subimage,link: rsDATA[i].link,title: rsDATA[i].title,ID: rsDATA[i].id,file: rsDATA[i].file,username: rsDATA[i].username,styles: rsDATA[i].styles,mediatype: rsDATA[i].mediatype,category: rsDATA[i].category,description: rsDATA[i].description,userlink: rsDATA[i].userlink,fulldescription: rsDATA[i].fulldescription,date: rsDATA[i].date}); }
			else { datahtml += GridViewTemplate.evaluate({image: Subimage, link: rsDATA[i].link,title: rsDATA[i].title, ID: rsDATA[i].id, file: rsDATA[i].file,username: rsDATA[i].username, userlink: rsDATA[i].userlink, date: rsDATA[i].date,category: rsDATA[i].category});
			}
		}
	
		var bbb = BrowseTemplate.evaluate({'REMOVEMODULER':Rem,
			'ADDREMOVEBUTTONS':Rem+Add,
			'MODULER_ID':rsJSON.MODULER_ID,
			'MODULER_NAME':rsJSON.MODULER_NAME,
			'USECLASS':rsJSON.USECLASS,
			'TOGGLECLASS':rsJSON.TOGGLECLASS,
			'HIDE':'',
			'WORK':datahtml,
			'URL':rsJSON.URL,
			'RSSURL':rsJSON.RSSURL,
			'SHAREARG':rsJSON.SHAREARG,
			'USEICON':rsJSON.USEICON,
			'AJAXID':rsJSON.AJAXID,
			'WORKCLASS':rsJSON.WORKCLASS,
			'PAGINATION':rsJSON.PAGINATION,
			'BPAGINATION':rsJSON.BPAGINATION,
			'GETVARS':rsJSON.GETVARS,
			'STILE':((view)?'':'style="display:none"'),
			'SGRID':((view)?'style="display:none"':''),
			'THUMBSMALL':((!rsJSON.LARGETHUMBS)?'':'style="display:none"'),
			'THUMBLARGE':((!rsJSON.LARGETHUMBS)?'style="display:none"':''),
			'ADS':rsJSON.ADS,
			'START':rsJSON.START,
			'END':rsJSON.END,
			'TOTAL':rsJSON.TOTAL
		});
		bbb += rsJSON.BREADCRUMBS;
		$('browse').update(bbb);

		this.currentlimit = rsJSON.LIMIT;
		this.sortby = rsJSON.SORTBY;
		
        $('browseAmountItems').childElements().each(function(el) {
            el.className = ''
        });
        
        $('browse' + this.currentlimit).ancestors()[0].className = 'active';

        
		if (typeof(rsJSON.filters) == 'string') {
			$('browseFiltersCon').update(rsJSON.filters);
		}
		
		if (rsJSON.MEDIATYPEID>0) { $('bNavTop').update('<a href="#" onclick="backToMedias();return false;">All Media Types</a>'); }
		else { $('bNavTop').update('Browse Artician'); }
		
		var self = this;
		if (rsJSON.MEDIATYPEID>0 && rsJSON.CATEGORYID>0) {
			if (this.mediatypeid != rsJSON.MEDIATYPEID && this.catid != rsJSON.CATEGORYID) {
				this.sm(rsJSON.MEDIATYPEID,rsJSON.MEDIATYPE);
				this.sc(rsJSON.CATEGORYID,rsJSON.CATEGORY,rsJSON.SCATEGORYID,rsJSON.SCATEGORY);
				if (rsJSON.CATEGORYID != rsJSON.SCATEGORYID) { $('catListing_'+this.mediatypeid+'_'+rsJSON.SCATEGORYID).addClassName('ext_active'); }
				this.slide(this.mL,this.c(rsJSON.MEDIATYPEID,rsJSON.CATEGORYID),0,function(){self.loadStyles(true);});
			}
		} else if (rsJSON.MEDIATYPEID>0) {
			if (this.mediatypeid != rsJSON.MEDIATYPEID) {
				this.sm(rsJSON.MEDIATYPEID,rsJSON.MEDIATYPE);
				this.sc(0,'',0,'');
				this.slide(this.mL,this.c(rsJSON.MEDIATYPEID,0),0,function(){self.loadStyles(true);});
			}
		}
	},
	getLis:function(d) {
		var c = $(d).select('.subcategory').length;
		if (c==0) {
			var d = $(d).select('li').length;
		} else {
			var d = $(d).select('.subcategory')[0].select('li').length;
			d++;
		}
		return d;
	},
	slide:function(u,q,m,s) {
		if (u == q || this.slideactive) {
			return;
		}
		this.slideactive = true;
		var cq = this.getLis(q);
		var cu = this.getLis(u);
		var max = Math.max(cu,cq);
		var self = this;
		new Effect.Morph('browseNewNav',{
			duration: 0.1,
			style: 'height:'+(max*this.liheight)+'px',afterFinish:function(){
				self.runSlide(u,q,m,s,cq);
			}
		});
	},
	runSlide:function(u,q,m,s,cq) {
		$(this.panelid).addClassName('sliding');
		var o = $(u).offsetWidth;
		$(q).setStyle({"left":m ? -o + 'px': o + 'px'}).show();
		var self = this;
		new Effect.Parallel([
		  new Effect.Move(u, { sync: true, duration: 0.3, mode: 'relative', x: m ? o: -o}),
		  new Effect.Move(q, { sync: true, duration: 0.3, mode: 'relative', x: m ? o: -o})
		], { 
			duration: 0.3, delay: 0, afterFinish:function(){
				$(u).hide();
				self.slideactive = false;
				new Effect.Morph('browseNewNav',{
					duration: 0.2,
					delay:0.2,
					style: 'height:'+(cq*self.liheight)+'px',
					afterFinish:function(){$(self.panelid).removeClassName('sliding');}
				});
				if (s) { setTimeout(s, 0); }
			}
		});
	},
	/*********************************************************************/
	/* Utility Functions: s:Set Media/Cat,i:Slide,c:ParseCatNames        */
	/* Utility Vars: m:Media,i:CatID,p:ParentID,,t:GoToCatID,            */
	/* d:Direction(false:Right,true:Left),c:CallbackFunction             */
	/*********************************************************************/
	goToMedias:function(m,p) {var self=this;self.sm(0,'');self.sc(0,'',0,'');self.slide(self.c(m,p),self.mL,1,function(){}); self.BrowseThis(function(){});},
	backToMedias:function() {var self=this; var m=this.mediatypeid; var c=this.catid; self.BrowseThis(function(){}); self.sm(0,''); self.sc(0,'',0,''); self.slide(self.c(m,c),self.mL,1,function(){})},
	goBack:function(m,i,p,n) {var self=this;this.sc(p,n,p,n);self.i(m,i,p,1,function(){});self.BrowseThis(function(){});},
	setCat:function(m,i,p,n) {var self=this;this.sc(i,n,i,n);self.i(m,p,i,0,function(){});self.BrowseThis(function(){});},
	selectCat:function(m,i,n) {var self=this;this.scat=n;this.scatid=i;self.BrowseThis(function(){});},
	setMedia:function(m,n) {
		var self=this;this.sm(m,n);
		this.sc(0,'',0,'');
		self.slide(self.mL,self.c(m,0),0,function(){});
		self.BrowseThis(function(){});
		self.loadStyles();
	},
	sm:function(m,n){this.mediatypeid=m;this.mediatype=n;},
	sc:function(i,c,d,e){this.catid=i;this.cat=c;this.scatid=0;this.scat=c;if(typeof(d)!='undefined'){this.scatid=d;} if(typeof(e)!='undefined'){this.scat=e;}},
	i:function(m,f,t,d,c){ this.slide(this.c(m,f),this.c(m,t), d, c); },
	c:function(m,i){return this.cL+'_'+m+'_'+i;},
		
	/****************************/
	/*  Setup Browse Variables  */
	/****************************/
	BrowseParse:function(browsevars,newlimit) {
		var browsehash = new Hash();
		
		if (typeof(browsevars) == 'object' && browsevars != null) {
			browsehash = browsevars;
		}
        if(newlimit != null) {
            newlimit = parseInt(newlimit);
        }
		
		if ($('browseMature')) {
			var mature = $('browseMature').value;
			if (mature != '') { browsehash.set('mature', mature); }
			else { browsehash.unset('mature'); }
		}
		
		if ($('browseContent')) {
			var content = $('browseContent').value;
			if (content == 'featured') { browsehash.set('featured', 1); }
			else { browsehash.unset('featured'); }
		}
		
		if ($('browseSort')) {
			var sort = $('browseSort').value;
			if (sort != '') { browsehash.set('sort', sort); }
			else { browsehash.unset('sort'); }
		}
		
        if (newlimit > this.defaultlimit || newlimit < 1) { newlimit = null }
        
        if(newlimit && this.page) {
            var npg = Math.ceil( (this.placemarker) / newlimit );
            if(npg > 0 && this.page != npg) {
                this.page = npg;
                browsehash.set('pg', this.page);
            }
		}
        
        if(newlimit) {
            this.currentlimit = newlimit;
            browsehash.set('limit', this.currentlimit);
        }
        
		if (this.sortby != 'newest' && this.sortby != null) { browsehash.set('sortby', this.sortby); }
		else { browsehash.unset('sortby'); }
		
		if ($('browseScraps')) {
			var scraps = $('browseScraps').value;
			if (scraps != '') { browsehash.set('scraps', scraps); }
			else { browsehash.unset('scraps'); }
		}
		
		if ($('browseSortBy')) {
			var sortby = $('browseSortBy').value;
			if (sortby != '') { browsehash.set('by', sortby); }
			else { browsehash.unset('by'); }
		}
		
		if ($('browseOrder')) {
			var order = $('browseOrder').value;
			if (order != '') { browsehash.set('order', order); }
			else { browsehash.unset('order'); }
		}
		
		if ($('browseLicenseFilter')) {
			var licensef = $('browseLicenseFilter').value;
			if (licensef == 'onlycc') {
				var license = getLicense();
				if (license>0) { browsehash.set('license', license); }
				else { browsehash.unset('license'); licensef=''; }
			} else {
				var license=0;
				browsehash.unset('license');
			}
			if (licensef != '') {
				browsehash.set('licensefilter', licensef);
			} else {
				browsehash.unset('licensefilter');
			}
		}
		
		if ($('browseTags')) {
			var tags = $('browseTags').value;
			if (tags != '') { browsehash.set('tag', tags); }
			else { browsehash.unset('tag'); }
		}
		
		if (this.mediatypeid>0) { browsehash.set('media', this.mediatype); }
		else { browsehash.unset('media'); }
		
		if (this.catid>0 || this.scatid>0) { browsehash.set('category', this.scat); }
		else { browsehash.unset('category'); }

		var Styleinputs = $('style_selection').select('input.styleItem');
		var stylehash = new Hash();
		Styleinputs.each(function(input) {
			if (input.checked) {
				stylehash.set(input.id,input.value);
			}
		});
		
		var jstyles = stylehash.values();
		
		if (jstyles.length != 0) { browsehash.set('style', jstyles.join(';')); }
		else { browsehash.unset('style'); }
        
		return browsehash;
	},
	BrowseThis:function(c,b,limit) {
		var v = this.BrowseParse(b,limit);
		this.browse(v.toQueryString(),0,c);
	},
	pageLoadMenu:function(MEDIATYPEID,MEDIATYPE,CATEGORY,CATEGORYID,SCATEGORY,SCATEGORYID) {
		var tA = location.hash;
		if (tA.match(/^#browse=/)) { return; }
		
		var self = this;
		if (MEDIATYPEID>0 && CATEGORYID>0) {
			if (this.mediatypeid != MEDIATYPEID && this.catid != CATEGORYID) {
				this.sm(MEDIATYPEID,MEDIATYPE);
				this.sc(CATEGORYID,CATEGORY,SCATEGORYID,SCATEGORY);
				if (CATEGORYID != SCATEGORYID) { $('catListing_'+this.mediatypeid+'_'+SCATEGORYID).addClassName('ext_active'); }
				this.slide(this.mL,this.c(MEDIATYPEID,CATEGORYID),0,function(){self.loadStyles(true);});
			}
		} else if (MEDIATYPEID>0) {
			if (this.mediatypeid != MEDIATYPEID) {
				this.sm(MEDIATYPEID,MEDIATYPE);
				this.sc(0,'',0,'');
				this.slide(this.mL,this.c(MEDIATYPEID,0),0,function(){self.loadStyles(true);});
			}
		}
	},
	loadStyles:function(kc) {
		var self = this;
		new Ajax.Updater('style_selection','/modules/browse/browseStyles.php?ajax=1&level=0&mtype='+this.mediatypeid,{
			asynchronous:true,
			evalScripts:true,
			onSuccess: function() {
				if(!$('style_selection').visible()){
					$('style_selection').show();
				}
				if(!$('style_selection_con').visible()){
					if(kc) {
						Effect.toggle('style_selection','blindside',{duration:0.0});
					}
					Effect.BlindRight('style_selection_con',{duration:0.3});
					Event.observe(window, 'click', self.bgStyleClose);
				}
			}
		});
	},
	toggleStylePanel:function(){
		var self = this;
		var s = $('style_selection');
		if (!$('style_selection').empty()) {
			Effect.toggle('style_selection','blindside',{duration:0.3,
				afterFinish:function() {
					if($('style_selection_con').getWidth()>0) {
						Event.observe(window, 'click', self.bgStyleClose);
					}
					else {
						Event.stopObserving(window, 'click', self.bgStyleClose);
					}
				}
			});
		}
	},
	bgStyleClose:function(event) {
		var s = Event.element(event).descendantOf('style_selection_con');
		if(!s) {
			if ($('style_selection').visible()) {
				disableStylePanel();
			}
		}
	},
	setbrowselimit:function(limit) {
		this.BrowseThis(null,null,limit);
	},
	setbrowsesort:function(by) {
		this.sortby = by;
		this.BrowseThis();
	}
}
/************************************************/
/*            Disable Style Panel               */
/************************************************/
var stylePanel = true;
function disableStylePanel(){
	browsepage.toggleStylePanel();
}
function loadStyles() {}

var browsepage = new articiansbrowse();

//Browse Navigator
function BrowseThis() {
	browsepage.BrowseThis();
}

function backToMedias() {
	$('style_selection').update('');
	$('bNavTop').update('Browse Artician');
	browsepage.backToMedias();
}
function goBack(type,id,parentid,name,media) {
	if (typeof(media) != 'undefined' && media==1) {
		Effect.BlindLeft('style_selection_con',{duration:0.3,afterFinish:function(){$('style_selection').hide();$('style_selection').update('');}});
		$('bNavTop').update('Browse Artician');
		browsepage.goToMedias(type,parentid);
	} else {
		browsepage.goBack(type,id,parentid,name);
	}
}
function setCat(id, name, parent, type, child) {
	if (child) {
		$$('a.ext_active').each(function(e){$(e).removeClassName('ext_active');});
		browsepage.setCat(type,id,parent,name);
	} else {
		browsepage.selectCat(type,id,name);
		$$('a.ext_active').each(function(e){$(e).removeClassName('ext_active');});
		$('catListing_'+type+'_'+id).addClassName('ext_active');
	}
}

function toggleMedia(id,name){
	$('bNavTop').update('<a href="#" onclick="backToMedias();return false;">All Media Types</a>');
	browsepage.setMedia(id,name);
}

function jump(link,pl) {
	browsepage.jump(link,pl);
}
function ancherrename (link) {
	browsepage.ch(link);
}
function navancherrename() {
	var browsevars = browsepage.BrowseParse();
	browsepage.ck(browsevars.toQueryString());
}

/************************************************/
/*			Advanced Browse Search				*/
/************************************************/
function advSearch() {
	new Ajax.Updater('advSearch','/modules/browse/advSearch.php',{
		asynchronous:true,
		evalScripts:true,
		onSuccess: Effect.toggle('advSearch','blind',{duration:0.3})
	});
}

/************************************************/
/*				Load Browse Filters				*/
/************************************************/
function loadFilters() {
	var FilterCon = $('browseFiltersCon');
	if($(FilterCon).innerHTML == ''){
		Effect.BlindDown(FilterCon,{duration:0.4});
	} else {
		if (!FilterCon.visible()) { $('browse').addClassName('openFilter'); }
		else { $('browse').removeClassName('openFilter'); }
		Effect.toggle(FilterCon,'blind',{duration:0.4});
	}
}


/************************************************/
/*				Browse Navigation				*/
/************************************************/
function navigateBrowseNew(id) {

}
var BrowseSelectedCat = [];


/*
var criteriaID = 'criteria';
function adjustCriteria(){
	//alert('');
	//$(criteriaID).className='';
	vpw = document.viewport.getWidth();
	
	if($(criteriaID)){	
		if(vpw < 1015){
			alert('yes');
			$(criteriaID).className = 'resA';
		}
		if(vpw > 1015 && vpw < 1031){
			$(criteriaID).className = 'resB';
		}
		if(vpw > 1030 && vpw < 1041){
			$(criteriaID).className = 'resC';
		}
		if(vpw > 1040 && vpw < 1051){
			$(criteriaID).className = 'resD';
		}
		if(vpw > 1050 && vpw < 1061){
			$(criteriaID).className = 'resE';
		}
		if(vpw > 1060 && vpw < 1076){
			$(criteriaID).className = 'resF';
		}
		if(vpw > 1075 && vpw < 1101){
			$(criteriaID).className = 'resG';
		}
		if(vpw > 1100 && vpw < 1126){
			$(criteriaID).className = 'resH';
		}
		if(vpw > 1125 && vpw < 1151){
			$(criteriaID).className = 'resI';
		}
		if(vpw > 1150 && vpw < 1176){
			$(criteriaID).className = 'resJ';
		}
		if(vpw > 1175 && vpw < 1181){
			$(criteriaID).className = 'resK';
		}
		if(vpw > 1180 && vpw < 1201){
			$(criteriaID).className = 'resL';
		}
		if(vpw > 1200 && vpw < 1230){
			$(criteriaID).className = 'resM';
		}
	}

}
document.observe("dom:loaded", function() {
	adjustCriteria();
	Event.observe(window,"resize",function(){
	   adjustCriteria();
	});
});

*/