$(function(){

	//global vars
	var locale = "en_gb";
	if(window.location.href.indexOf("ar_ae"))
	locale = "ar_ae";
	
	var isIE = $.browser.msie;
	var isIE6 = isIE && ($.browser.version == 6.0);
	var isIE7 = isIE && ($.browser.version == 7.0);
	
	//add 'FirstChild' and sfhover class for ie6 */
	var firstChild = function(){
		$("li:first-child").addClass("FirstChild");
	}
	var lastChild = function(){
		$("li:last-child").addClass("LastChild");
	}
	if($.browser.msie && $.browser.version == "6.0") {
		firstChild();
	}
	// add LastChild class to IE
	if(isIE){
		lastChild();
	}
	
	var externalLinks = function(){
		$('a[rel=external],a[rel=External]').bind('click',function(){$(this).attr('target','_blank')});
	}
	externalLinks();
	
	//sucker fish solution for ie6
	var sfhover = function(){
		$("ul.Navigation0 li").hover(
			function(){$(this).addClass('sfhover')},
			function(){$(this).removeClass('sfhover')}
		)
		;
	}
	if(isIE6) sfhover();
	
// tab handler
 var tabs = function tabs(){
  $("ul.tabs").each(function(){
   var $t = $(this), $tab = $("li",$t), $pane = $('div.tabHolder div.pane');
   $pane.eq(0).show();
   $tab.bind('click',function(){
    var $i = $tab.index($(this));
    $tab.removeClass('selected');
    $(this).addClass('selected');
    $pane.hide();
    $pane.eq($i).show();
    return false;
   });
  });
 }
 tabs();

	
	// invoke sortable effects
	var invokeSortable = function(){
		$('div#col1,div#col2').Sortable({
			accept: 'moduleWrapper',
			helperclass: 'sortHelper',
			activeclass : 'sortableactive',
			hoverclass : 'sortablehover',
			handle: 'div.title',
			tolerance: 'intersect',
			opacity:.7,
			onChange : function(ser)
			{
			},
			onStart : function()
			{
				$.iAutoscroller.start(this, document.getElementsByTagName('body'));
			},
			onStop : function()
			{
				$.iAutoscroller.stop();
				$(".moduleWrapper").css({left:0,top:0});

				// IE bug fix
				if(isIE){
					destroySortable();
					invokeSortable();
					collapseExpand();
				}
				
				//save serialized placement to cookie
				setCookiePlacement();
				
			}
		});
	}
	invokeSortable();
	
	var destroySortable = function(){
		$('div.column').SortableDestroy();
	}
	
	
	// module collapse/expand handler
	var collapseExpand = function(){
		$("div.moduleWrapper .title img")
		.unbind()
		.bind('click',function(){
			var $module = $(this).parent().parent();
			var imgSrc = $(this).attr("src");
			$module.toggleClass("collapsed");
			if($module.hasClass("collapsed")){
				$(this).attr("src",imgSrc.replace("close","open"));
			}
			else{
				$(this).attr("src",imgSrc.replace("open","close"));
			}
			serializePlacement();
			setCookiePlacement();
			return false;
		});
	}
	collapseExpand();
	
	//serialize module placement
	var serializePlacement = function(){
		var serial = "";
		var $modules = $("div.column .moduleWrapper");
		var currCol = $("div.column:first").attr("id");
		$modules.each(function(){
			var $t = $(this);
			var colChange = false;
			if($t.parent().attr("id") != currCol){
				colChange = true;
				currCol = $t.parent().attr("id");
			}
			var id = $t.attr("id");
			var s = "+";
			var c = colChange ? "*" : "";
			if($t.hasClass("collapsed")) s = "-";
			serial += c + s + id;
		});
		return serial;
	}

	var moveModule = function($mod,$col,pos){
		var $mods = $(".moduleWrapper",$col);
		if($mods.length && $mods.eq(pos)){
			$mod.insertBefore($mods.eq(pos));
		}
		else $mod.appendTo($col);
	}
	
	var cookieOptions = {
		domain: '*.alwatan.com.sa',
		path: '/alwatan',
		hoursToLive: 24,
		secure: true
	}
	  
	var setCookiePlacement = function(){
		eraseCookie("modulePlacement");
		createCookie("modulePlacement",serializePlacement(),24);
	}
	
	var getCookiePlacement = function(){
	    return null;
	    return readCookie("modulePlacement");
	}
	
	var arrangeModules = function(serial){
		if(!serial) {
			setCookiePlacement();
			return;
		}
		var set = serial.split("*");
		for(var i=0;i<set.length;i++){
			var mod = set[i].match(/(\+.\d+)|(\-.\d+)/g);
			for(var j=0;j<mod.length;j++){
				var id = mod[j].replace("+","#").replace("-","#");
				var col = i+1;
				if(mod[j].indexOf("-") > -1) $(id).addClass("collapsed");
				else $(id).removeClass("collapsed");
				//alert(id + "," + col + "," + j);
				moveModule($(id),$("#col"+col),j);
			}
		}
	}
	//arrange modules on load
	arrangeModules(getCookiePlacement());
	
	var fixCollapseButton = function(){
		$("div.collapsed .title img").each(function(){
			var imgSrc = $(this).attr("src");
			$(this).attr("src",imgSrc.replace("close","open"));
		});
	}
	fixCollapseButton();
	
	$(".newsSlider").jCarouselLite({
		vertical: true,
		btnNext: ".next",
  btnPrev: ".prev",
		hoverPause:false,
		visible: 1,
		auto:5000,
		speed:200
	});
	
	$('.images').each(function(){
	 $('img.preview').attr('src',$(this).find('li:first a').attr('href'));
	 $(this).find('ul li a').click(function(){
	  $('img.preview').attr('src',$(this).attr('href'));
	  $('.images').find('p').text($(this).attr('title'));
	  return false;
	 });
	});

// call gotabs function for multiples blocks	
	var tabIds = ['m10','m8','m4'];
	for(var i = 0;i < tabIds.length;i++) {
		goTabs(tabIds[i]);
	}	
//
	
});


// gotabs functions
function goTabs(id) {
	var count;
	var current;
	$("#"+id+" ul.tabs li").each(function(index) {
		count = index;										  
		$(this).click(function() {
			for(var k = 0;k <= count;k++) {
				$("#"+id+"-cont-"+k).hide();	
				$("#"+id+"-tab-"+k).removeClass('selected');	
			}
			$("#"+id+"-cont-"+index).show();
			$(this).addClass('selected');			
			return false;
	    });
    });	 
}


//global functions
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

