/*\------------------------------------------------------------------------

	>> lickmydeck.com
	>> 08/04/08				
	>> Kostis Sakkas				
		
------------------------------------------------------------------------\*/


var protected = false;


$(document).ready(function () {
	
	var DOMAIN = "LICK MY DECK";
	
	
	$(function() {
		$('.lightbox').lightBox({fixedNavigation:true});
	});

	
	
	
	formatTitle  = function(title) {
		return DOMAIN + ' ' + (title != '/' ? ' / ' + toTitleCase(title.substr(1, title.length - 2).replace(/\//g, ' / ')) : '');
	};
	
	updateChange = function(xhr) {
		if (xhr.readyState == 4) {
			if (xhr.status == 200) {
				var content = $('#fu');
				$(content).html(xhr.responseText);
			} else {
				$("#mrc").html('<h2>Page not found</h2>');
				//location.href='/';
			}
		}
	};
	
	// Custom utility functions
	toTitleCase	= function(str) {
		return str.substr(0,1).toUpperCase() + str.substr(1).toLowerCase();
	} ;     
	
	// Custom SWFAddress and Ajax handling
	getTransport	=	function() {
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				return new ActiveXObject('Msxml2.XMLHTTP');
			} catch(e) {
				return new ActiveXObject('Microsoft.XMLHTTP');
			}
		}
	};
	
	handleChange	= function(event) {
		var r = new Date().getTime();
		var links = $('a');
		for (var i = 0, link; link = links[i]; i++) {
		  link.className = link.rel == event.value ? 'selected' : '';
		}
		var parameters 	= '';
		for (var p in event.parameters) {
			parameters += '&' + p + '=' + event.parameters[p];
		}
		parameters += '&r=' + r;
		var xhr = getTransport();
		xhr.onreadystatechange = function() {
			updateChange(xhr);
		};
		
		
		xhr.open('get', 'lib/data.php?page=' + event.path + parameters, true);
		xhr.send('');
		SWFAddress.setTitle(formatTitle(event.path));    
		$("#loader").css("display","none");
	};
	
	if(!protected){
		SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
	};
	
	showSearchMenu	=	function(){
		$("#search-menu").slideDown(500);
		$("#search-menu ol").addClass('visible');
	};
	
	hideSearchMenu	=	function(){
		$("#search-menu").slideUp(500, function(){$("#search-results").html('');$("#searchfld").attr('value', '');});
	};
	
	
	popcontact = function(){
		var features = "location=no, scrollbars=no ,status= no ,resizable=yes ,width=370 ,height=440,left=" + (screen.width - 580) / 2 +
	   ",top=" + (screen.height - 700) / 2;
		return window.open("/modules/contact.php", "itsapopper", features);
	};
		
	jQuery.lmd = {
		releases	:	function(id, type){
			try{
				if ("" == id){ throw new Error("ID CANNOT BE NULL");}
				
				$.post("/lib/releases.php",
					{id:id, type:type},
					function(json) {
						var o = $.parseJSON(json);
						$("#inner"+type).html(o.reply);
					}
				);				
			}
			catch(err){ alert("An error occured!\n Error detail : " + err.message);}
		},
		
		updateimage	:	function(ph, img){
			$(ph).attr('src', img);
			
		},
		
		calendar	:	{
			
			sort	:	function(id, col, order){
				var d = new Date();
				seed = d.getTime();
				try{
					if ("" == col){ throw new Error("COL CANNOT BE NULL");}
					$("#loading-calendar").addClass('loading').html('Fetching...');
					$.get("/lib/calendar.php?"+seed, 
						  {id:id, col:col, order:order},
						function(json){
							$("#loading-calendar").removeClass('loading').html('');
							var o = $.parseJSON(json);
							$("#tbl-calendar").replaceWith(o.reply);
						}
					);			
				}
				catch(err){ alert("An error occured!\n Error detail : " + err.message);}
			}
			
		},
		
		cart	: 	{
			
			add	:	function(id, type){
				var d = new Date();
				seed = d.getTime();
				try{
					if ("" == id){ throw new Error("ID CANNOT BE NULL");}
					$("#loading").addClass('loading').html('Adding to basket...');
					$.get("/lib/cart.add.php?"+seed, 
						  {id:id, type:type},
						function(result){
							$("#rc-holder").html(result);
							$("#loading").removeClass('loading').html('');
						}
					);			
				}
				catch(err){ alert("An error occured!\n Error detail : " + err.message);}
			},
			
			remove	:	function(code, quantity){
				var d = new Date();
				seed = d.getTime();
				try{
					if ("" == code){ throw new Error("ID CANNOT BE NULL");}
					$("#loading").addClass('loading').html('Removing from basket...');
					$.get("/lib/cart.remove.php?"+seed, 
						  {code:code, quantity:quantity},
						function(result){
							$("#rc-holder").html(result);
							$("#loading").removeClass('loading');
						}
					);			
				}
				catch(err){ alert("An error occured!\n Error detail : " + err.message);}
			},
			load	:	function(){
				var d = new Date();
				seed = d.getTime();
				location.href="/#/music?cart=true&"+seed;
				
			},
			
			agree	:	function(){
				var checked = ($("#agreetc").attr('checked')===undefined) ? 0 : 1 ;
				if(!checked){
					alert("You need to agree to the terms and conditions to proceed");
				}
				else{
					window.location.href='paypal/checkout.php';
				}
			}, 
			
			tac	:	function(){
				var features = "location=no, scrollbars=no ,status= no ,resizable=yes ,width=370 ,height=390,left=" + (screen.width - 580) / 2 +
	   ",top=" + (screen.height - 700) / 2;
				window.open("/modules/tac.php", "tac", features);
			}
		},
		
		mlist	:	function(email){
			var d = new Date();
			seed = d.getTime();
			if(('' !== email) && ('enter email' !== email)){
				$.get("/lib/mail.add.php?"+seed, 
					 {email:email},
					function(json){
						var o = $.parseJSON(json);
						if(o.reply == 1){
							$("#mailing-frm").replaceWith('<div id="thanks">Thank you for subscribing!</div>');
							$("#thanks").fadeOut(5000);
						}
					}
				);			
			}
		},
		
		search	:	function(where){
			var d = new Date();
			seed = d.getTime();
			var query = $("#searchfld").attr('value');
			query = (undefined==query) ? '' : query;
			if(('' != query) && ('' != where)){
				$("#searching").addClass('loading').html('Searching...');
				$("#search-menu ol").removeClass("visible").addClass('hidden');
				$.get("/lib/search.php?"+seed, 
					 {query:query, where:where},
					function(json){
						var o = $.parseJSON(json);
							var result = o.reply;
							$("#searching").removeClass('loading').html('');
							if(''!=result){
								$("#search-results").html(result);
							}
							else{
								$("#search-results").html('No results found');
							}
						}
				);			
			}
			
			
		}
	}
});

	
externalLinks = function() {
	//alert('loaded');
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors .length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
			anchor.title = (anchor.title != "") ? anchor.title+" (Opens in new window)" : "Opens in new window";
			anchor.className = (anchor.className != '') ? anchor.className+' external' : 'external';
		}
	}
};


//window.onload	= function() {externalLinks();}

