// JavaScript Document

$.preloadCssImages = function(settings){	
	settings = jQuery.extend({
		 imgDir: 'images'
	}, settings);

	var sheets = document.styleSheets;	
	var cssPile = '';
	for(var i = 0; i<sheets.length; i++){
		if(!$.browser.msie){
			var thisSheetRules = document.styleSheets[i].cssRules;
			for(var j = 0; j<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[j].cssText;
			}
		}
		else {
			cssPile+= document.styleSheets[i].cssText;
		}
	}

	var imgUrls = cssPile.match(/[^\/]+\.(gif|jpg|jpeg|png)/g);	
	if(imgUrls != null && imgUrls.length > 0 && imgUrls != ''){
		var arr = jQuery.makeArray(imgUrls);
		$.each (arr,function (e) {
			$("<img>").attr("src", settings.imgDir +'/'+ this);
		});
	}
}
$.preloadImages = function() {
	$.each (arguments,function (e) {
		$("<img>").attr("src", this);
	});
}

$(document).ready(function(){
//	$.preloadCssImages({ 'imgDir': path+'img/buttons' });
	var i  = 0;
	if($.cookie("browse_extensions")) {
		var cookie = $.cookie('browse_extensions');
		$(".browse_extensions h3").each(function(i) {
			if (cookie.indexOf(i) != -1){
				$(".browse_extensions h3").eq(i).addClass("active");
				$(".browse_extensions div").eq(i).show();
			}
			i += 1;
		})
	} else {
		$(".browse_extensions h3").eq(0).addClass("active");
		$(".browse_extensions div").eq(0).show();
		$(".browse_extensions h3").eq(4).addClass("active");
		$(".browse_extensions div").eq(4).show();
		$(".browse_extensions h3").eq(5).addClass("active");
		$(".browse_extensions div").eq(5).show();
	}

	$(".browse_extensions h3").click(function(){
		$(this).next("div").slideToggle(300);
		$(this).toggleClass("active");
		
		i  = 0;
		var nums = "";		
		$(".browse_extensions h3").each(function(i) {
			if ($(this).hasClass('active')){
				nums += i + ":";
			}
			i += 1;		
		})
		$.cookie('browse_extensions', nums);
	})				
	
	$('div[type|=button]').hover(function() {
		$(this).css("background", "url("+path+"img/buttons/"+$(this).attr("class")+"_hover.png) no-repeat");
			}, function() {
		$(this).css("background", "url("+path+"img/buttons/"+$(this).attr("class")+".png) no-repeat");
	});		
	$('div[type|=button]').mousedown(function() {
		$(this).css("background", "url("+path+"img/buttons/"+$(this).attr("class")+"_active.png) no-repeat");
	});
	$('div[type|=button]').mouseup(function() {
		$(this).css("background", "url("+path+"img/buttons/"+$(this).attr("class")+".png) no-repeat");
	});
	
	// TabbedPanel
	
	var tabbed_panels = $('#TabbedPanels');
	var tabs = $('.tabs', tabbed_panels);

	var index = $.cookie("switch_extensions") ? $.cookie('switch_extensions') : 0;
	var li = $('li', tabs).eq(index);
	
	$('span', li).stop(false, true).animate({color:'#505050'}, 200, 'easeOutQuad');
	$(li).stop(false, true).animate({backgroundPosition:'(0px 0px)'}, 200, 'easeOutQuad');
	$(li).addClass('active');
	
	$('div[id^="Tab"]', tabbed_panels).addClass("hidden");
	$('div[id="Tab'+index+'"]', tabbed_panels).removeClass("hidden");
	
	$("li", tabs).hover(function()
	{
		if (!$(this).hasClass('active')){
			$('span', this).stop(false, true).animate({color:'#FFFFFF'}, 200, 'easeOutQuad');
		}
	}, function(){
		if (!$(this).hasClass('active')){
			$('span', this).stop(false, true).animate({color:'#E2E2E2'}, 200, 'easeOutQuad');
		}
	})
		
	$("li", tabs).click(function(){
		if (!$(this).hasClass('active')){		
			$('.active  span', tabs).stop(false, true).animate({color:'#E2E2E2'}, 200, 'easeOutQuad');
			$('.active', tabs).stop(false, true).animate({backgroundPosition:'(0px 35px)'}, 200, 'easeOutQuad')
			$('.active', tabs).removeClass('active');
			
			$('span', this).stop(false, true).animate({color:'#505050'}, 200, 'easeOutQuad');
			$(this).stop(false, true).animate({backgroundPosition:'(0px 0px)'}, 200, 'easeOutQuad');
			$(this).addClass('active');
			
			var index = $(this).prevAll().length;
			$.cookie('switch_extensions',index);
			
			$('div[id^="Tab"]', tabbed_panels).addClass("hidden");
			$('div[id="Tab'+index+'"]', tabbed_panels).removeClass("hidden");
		}
	})
})



// Demo

function seeDemo($id, $name, $width, $height, $count, $path){	  
	$(".buttons").empty();
	for (var i=1; i<=$count; i++){
		$(".buttons").append("<td class='btn'>DEMO "+i+"</td>")
	}
	
	$(".flash").css("visibility","hidden");
	
	$(".demo_title").html($name);
	
	$(".demo_controls td").eq(0).addClass("active");	
	$(".demo_controls td").click(function(){
		$(this).toggleClass("active")
		$(this).siblings(".btn").removeClass("active");
		var num = $(this).html().substr(5,1);
		$(".demo_iframe").attr("src", "");
		$(".demo_iframe").attr("src", $path+"extensions/"+$id+"/demo_"+num+".html");
	})
	$(".demo_close").click(function(){
	  $(".demo_background").hide();
	  $(".demo_iframe").attr("src", "");
	  $(".flash").css("visibility","visible");
	})	
	
	$(".demo_container").css("width", $width);
	$(".demo_container").css("height", $height);
	$(".demo_iframe").attr("width", $width);
	$(".demo_iframe").attr("height", $height);
   
	$(".demo_table").css("margin-top", $(window).scrollTop() + 50);	
	
	$(".demo_background").css("width", $(window).width());
	$(".demo_background").css("height", $(document).height());
	
	$(".demo_background").show();	
		
	$(".demo_iframe").attr("src", $path+"extensions/"+$id+"/demo_1.html");
	
	callascallback("Menu", "getHyperlinks", $id);	
}
function setHyperlinks($links){
	if ($links != ""){
		$('.demo_hyperlinks').show();
		var links = $links.split("##");
		var row_count = Math.floor(links.length / 3);
		if (links.length % 3 != 0) row_count += 1;
		
		$('.demo_links_column').remove();
		$('.demo_line_vertical').remove();
		var k = 0;
		for (var i = 1; i <= 3; i++){
			var str = "";
			for (var j = 1; j <= row_count; j++){
				if (k < links.length) str += "<p><a class='a_demo' href='"+links[k].split("||")[1]+"' target='_blank'>"+links[k].split("||")[0]+"</a></p>";
				k += 1;
			}
			if (i == 2 || i == 3) $('.demo_links_container').append($('<td class="demo_line_vertical" width="31">'));
			$('.demo_links_container').append($('<td class="demo_links_column" valign="top" id="demo_links_'+i+'">'));
			$('#demo_links_'+i).html(str);
		}
	} else {
		$('.demo_hyperlinks').hide();
	}	
}


// Shopping Cart

function callascallback($flash_id, $function, $arg){	
	try{
		var flashcontent = window.document.getElementById($flash_id);
	}catch(e){
		var isIE = navigator.appName.indexOf("Microsoft") != -1;
		var flashcontent =  (isIE) ? window[$flash_id] : document[$flash_id];
	}
	try{
	  switch ($function){
		  case "removeFromCart":
			  flashcontent.removeFromCart($arg);
			  break;
		  case "addToCart":
			  flashcontent.addToCart($arg);
			  break;
		  case "makePayment":
			  flashcontent.makePayment($arg);
			  break;
		 case "getHyperlinks":
			  flashcontent.getHyperlinks($arg);
			  break;
		 case "setExtensions":
			  flashcontent.setExtensions($arg);
			  break;
	  }
	}catch(e){
		var isIE = navigator.appName.indexOf("Microsoft") != -1;
		var flashcontent =  (isIE) ? window[$flash_id] : document[$flash_id];
		switch ($function){
		  case "removeFromCart":				
			  flashcontent.removeFromCart($arg);
			  break;
		  case "addToCart":
			  flashcontent.addToCart($arg);
			  break;
		  case "makePayment":			  
			  flashcontent.makePayment($arg);
			  break;
		  case "getHyperlinks":
			  flashcontent.getHyperlinks($arg);
			  break;
		  case "setExtensions":
			  flashcontent.setExtensions($arg);
			  break;
		}
	}
}		
function removeFromCart($ids){
	callascallback("Menu", "removeFromCart", $ids);
}
function addToCart($id){
	var id = ($id.toString().length == 3) ? $id.toString() : $id.toString() + document.getElementById("Licence").selectedIndex.toString();	   
	callascallback("Menu", "addToCart", id);
}
function makePayment(){	
	callascallback("Menu", "makePayment", document.getElementById("PaymentProcedure").selectedIndex);
}
function updateCart($cart){
	clearCart();
	if ($cart != ""){
		var items = $cart.split(":");
		for (var i = 0; i < items.length; i++){
			addCartItem(items[i]);				
		}			
	}
}
function addCartItem($item)
{
	var a = $item.split("|");
	var row = "";
	row += "<tr class='cart_item' id='"+a[0]+"'>"
	row += "<td align='center'><input type='checkbox' class='sc_checkbox' num='"+a[0]+"' title='Check this and click on \"Remove Selected\" to remove from cart'></td>"
	row += "<td align='left'>"+a[1]+"</td>"
	row += "<td align='center'>"+a[2]+"</td>"
	row += "</tr>"
	$('#sc_footer').before(row);
}
function removeCartItem($id){
	$("#"+$id).remove();
	removeFromCart($id);
}		
function removeSelectedFromCart(){
	var ids = "";
	$(".sc_checkbox:checked").each(function(i) {
		var num = $(this).attr("num"); 
		ids += ((ids != "" ? ":" : "") + num);
		removeCartItem(num);
	})
	removeFromCart(ids);
}
function calculateCart($str){
	var a = $str.split(":");
	$("#sc_amount").text(a[0]);
	$("#sc_discount").text(a[1]);
	$("#sc_regular_price").text(a[2]);
	$("#sc_final_price").text(a[3]);
}
function clearCart(){
	$(".cart_item").remove();
}
function checkGoogleChrome(){
//	var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
//	if (is_chrome) alert("Shopping Cart may not properly work in Google Chrome. Please, use alterative browser.");
}
