
// THIS IS VERY QUICK AND DIRTY REQUIRES CLEANING UP 

var theme = {
	
	/* create requester object */
	requester : function ( URL , divName, token ) {
		var requester;
		try {
			requester = new XMLHttpRequest();
		}
		catch ( error ) {
			var versions = [ 'MSXML2.XMLHTTP.6.0' , 'MSXML2.XMLHTTP.5.0' , 'MSXML2.XMLHTTP.4.0' , 'MSXML2.XMLHTTP.3.0' , 'MSXML2.XMLHTTP' , 'Microsoft.XMLHTTP' ];
			for( var i=0; i < versions.length && !requester; i++ ) {
				try {
					requester = new ActiveXObject( versions[i] );
				}
				catch ( error ) {
					requester = null;
				}
			}
		}

		if ( requester != null ) {
			requester.onreadystatechange = function() {
				if ( requester.readyState == 4 ) {
					if ( requester.status == 200 || requester.status == 304 ) {
						switch(token){
							case 'preview_theme':
								theme.preview_theme( requester , divName);
							break;
							case 'replace_categories':
								theme.replace_categories( requester , divName);
							break;
							case 'replace_templates':
								theme.replace_templates( requester , divName);
							break;
							case 'swap_template':
								theme.swap_template( requester , divName);
							break;
							case 'thumbs_preview':
								theme.thumbs_preview( requester , divName);
							break;
						}
						
					}
					else {
						return false;
					}
				}
			return true;
			};
			requester.open ( "GET", URL , true);
			requester.send ( null );
					
		}
		else {
			return false;
		}		
	},
	clear_div : function( divName){
		
		$(divName).innerHTML = '';
	},
	preview_theme : function ( requester, divName) {
		if ( requester.responseText ) {	
			if ( requester.responseText == 0 ) {	
				theme.clear_div(divName);
			}
			else {	
				var preview_image 			= theme.newElement('img');
				preview_image.id			= 'template_theme';
				preview_image.src			= requester.responseText;
				preview_image.onclick 		= function () {
					theme.clear_div( divName );
				}
				$(divName).appendChild( preview_image );	
				$(divName).zindex 			= 100;			
				$(divName).style.position 	= 'absolute';
				$(divName).style.width		= 200;
				$(divName).style.height		= 200;
				$(divName).style.cursor		= 'pointer';
				$(divName).title			= 'Click the image, to hide it';
 				return true;
			}
		}
	},
	replace_categories : function ( requester, divName) {
		if ( requester.responseText ) {	
			if ( requester.responseText == 0 ) {	
				theme.clear_div(divName);
			}
			else {	
				$(divName).innerHTML = requester.responseText;
 				return true;
			}
		}
	},
	replace_templates : function ( requester, divName) {
		if ( requester.responseText ) {	
			if ( requester.responseText == 0 ) {	
				theme.clear_div(divName);
			}
			else {	
				$(divName).innerHTML = requester.responseText;
 				return true;
			}
		}
	},	
	swap_template : function ( requester, selectID ){
		if ( requester.responseText ) {	
			if ( requester.responseText == 0 ) {	
				$(selectID).innerHTML = '';
			}
			else {	
				
				$(selectID).style.background = 'url('+requester.responseText+')';
 				return true;
			}
		}
		else {	
			$(selectID).innerHTML = '';
		}
	},
	thumbs_preview : function ( requester, divName ){
		if ( requester.responseText ) {	
			if ( requester.responseText == 0 ) {	
				$(divName).innerHTML= '';
			}
			else {					
				$(divName).innerHTML= requester.responseText;				
//				var all_thumbs 	= requester.responseText.split('[||]');
//				var all_count	= all_thumbs.length;
//				for(var loop_thumbs = 0; loop_thumbs < all_count; loop_thumbs++){
//					var new_thumb = all_thumbs[loop_thumbs].split('|');
//					
//					var image_preview  = '<img src="'+new_thumb[1]+'"';
//						image_preview += ' style="cursor:pointer;border:1px solid #336699;padding:2px 2px 2px 2px;width:50px;height:50px;margin:2px 2px 2px 2px;float:left;"';
//						image_preview += 'border="0"';
//						image_preview += 'id="theme_'+new_thumb[0]+'"';
//						image_preview += 'onclick="theme.setTheme('+new_thumb[0]+');"';
//						image_preview += '>';
//						$(divName).innerHTML += image_preview;
//						
//						if( (loop_thumbs % 3) == 2){
//							theme.createBreak( $(divName) );
//						}
//						
//				}
				
 				return true;
			}
		}
		else {	
			$(divName).innerHTML = 'No theme listed';
		}
	},
	setTheme : function( themeid ){
		theme.clear_theme();				
		$('client_theme').value = themeid;
		$('theme_'+themeid).className = 'theme_thumb_on';
	},
	selectPack : function ( packid ){
		theme.clear_package();		
		$('client_package').value = packid;
		$('pack_'+packid).className = 'package_selected';
	},
	clear_theme : function ( ){
		if($('client_theme').value > 0){
			$('theme_'+$('client_theme').value).className = 'theme_thumb_off';
			$('client_theme').value = 0;		
		}
	},
	clear_package : function ( ){
		if($('client_package').value > 0){
			$('pack_'+$('client_package').value).className = 'package';
			$('client_package').value = 0;		
		}
	},
	newElement : function  ( type ) {	
		var element = document.createElement( type );
		return element;
	},	
	createBreak : function  ( element ) {
		var br = theme.newElement("br");
			$(element).appendChild(br);
		return br;
	},
	preview : function (templateid , theme_preview){
		if(templateid > 0){
			theme.requester('/theme.ajax.php?page=preview_image&template=' + templateid, theme_preview , 'preview_theme');		
		}
		else{
			theme.clear_div(theme_preview);
		}
		
	},
	show_category : function ( categoryid, div_name , child_div ){		
		$('sub_category').innerHTML = '<select class="frm" size="6" style="height: 100px;" disabled="disabled"><option value="">Loading...</option></select>';
		theme.requester('/theme.ajax.php?page=sub_category&category=' + categoryid, div_name , 'replace_categories');					
	},
	show_template : function ( categoryid , div_name ){
		alert(categoryid);
		theme.requester('/theme.ajax.php?page=templates&category=' + categoryid, div_name , 'replace_templates');			
	},
	showPreview : function ( templateid, select_id ){
		theme.requester('/theme.ajax.php?page=preview_image&template=' + templateid, select_id , 'swap_template');
	},
	show_thumbs : function ( categoryid , div_name ){
		theme.clear_theme();
		$('template_preview').innerHTML = '<img src="/images/icons/progress.gif" class="icor" />Fetching Templates..'
		theme.requester('/theme.ajax.php?page=group_thumbs&category=' + categoryid, div_name , 'thumbs_preview');
	}
	
	
}
