/*****************************
--- multilayer v1.1
--- Author: Maxim Bandurko.
*****************************/

var bottomActive = false;
var multilayerReady = false;
var documentReady = false;
var initReady = false;
var interval_delayedInit;
var hasBottom = false;

jQuery(function($){
	$(document).ready(function(){
		documentReady = true;
		checkDocument();
	});
	
});

function checkDocument(){
	if(multilayerReady && documentReady){
		if(!initReady){
			_init();
		}
	}
}


function initSkin(){
	
	$("#site").multilayer();
}

function _init(){
		
		initReady = true;
		
		
		
		updateCopyRight();
		
		_autoStart();
		
		
		 
		 var scrollPaneObj;
		 
		 $(".scroll-pane").each( function() {
			scrollPaneObj = {scrollbarWidth:8};
			
			if($(this).hasClass("scrollPaneLeft")){
				scrollPaneObj.scrollbarOnLeft = true;
			}
			if($(this).hasClass("scrollPaneShowArrows")){
				scrollPaneObj.showArrows = true;
				scrollPaneObj.arrowSize = 28;
				scrollPaneObj.scrollbarWidth = 25;
			}
			
			$(this).jScrollPane(scrollPaneObj);					  
		 });
		 
		 
		 
		 //interval_delayedInit = setInterval(_delayedInit, 1000);
		 proceedFlashText();
		 
		 if(jQuery.browser.msie && jQuery.browser.version == '6.0'){
			 DD_belatedPNG.fix('.transparentDD');
		 }
}

function _autoStart(){
	//$("#page_free_samples #FPO").hide();	
}


function _delayedInit(){
	//clearInterval(interval_delayedInit);
	//proceedFlashText();
}

function proceedFlashText(){
	proceedPageTitle("#contentArea", "h1", "flashTitle.swf");
	proceedPageTitle("#contentArea", "h2", "flashTitle.swf");
	proceedPageTitle(".box", "h1", "flashTitleBox.swf");
	proceedSysBoxTitle();
	proceedFlashObject();
	proceedVideoPlayer();
}

function updateCopyRight(){
	var d=new Date();
	yr=d.getFullYear();
	$("#site #footer #copyright").html('Copyright &copy; '+yr+' Jay Cutler\'s Bodybuilding VT. All rights reserved.');
}



function setTopMenuActive(el){
	if (el != undefined && el != ''){
		$("#navigation ul li a."+el).addClass("active");
	}
}




function normalizeHTML(txta){

	var regExp = /<([^>]+)/g;
		
	txta = txta.replace(regExp,
	function (p1){
		var regExp2 = /(\s\w+)=([^ \f\n\r\t\v"]+)/g;
		return p1.replace(regExp2, "$1=\'$2\'");
	});
	txta = txta.replace(/<SPAN/g,'<span');
	txta = txta.replace(/<\/SPAN/g,'</span');
	txta = txta.replace(/<BR/g,'<br');
	
	return txta;

	
}

function prepareHTML(txta){
	txta = txta.replace(/&amp;/g,'&');
	txta = txta.replace(/&/g,'{{{amp}}}');
	
	return txta;
}

function replaceTags(txta, tags){
	var tagsArr = tags.split(',');
	for(var i=0;i<tagsArr.length;i++){
		switch(tagsArr[i]){
			case "br":
				txta = txta.replace(/<br>/g,'[[[br /]]]');
				txta = txta.replace(/<br \/>/g,'[[[br /]]]');
				break;
		}
	}
	
	return txta;
}

function prepareColor(col){
	if(is_ff || is_chrome){
		var t1 = col.split('(');
		var t2 = t1[1].split(')');
		var t3 = t2[0].split(', ');
		
		col = '#'+RGBtoHex(t3[0],t3[1],t3[2]);
	}
	return col;
}

function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}

function toHex(N) {
 if (N==null) return "00";
 N=parseInt(N); if (N==0 || isNaN(N)) return "00";
 N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
 return "0123456789ABCDEF".charAt((N-N%16)/16)
      + "0123456789ABCDEF".charAt(N%16);
}

function d2h(d) {return d.toString(16);} // decimal to hex
function h2d(h) {return parseInt(h,16);} // hex to decimal

function proceedPageTitle(selector, tag, flash){	

	$(selector + " "+tag).each( function() { 	
			var txta = $(this).html();
			var twidth = $(this).width();
			var theight = $(this).height();
			
			txta = normalizeHTML(txta);
			txta = prepareHTML(txta);
			txta = $.string(txta).strip().str;
			
			
			var textAlign = $(this).css("text-align");
			var fontSize = $(this).css("font-size");
			var fontWeight = $(this).css("font-weight");
			var fontColor = prepareColor($(this).css("color"));
			
			if(fontWeight == "700"){
				fontWeight = 'bold';
			}
			
			if(fontWeight == "400"){
				fontWeight = 'normal';
			}
			
			var textTransform = $(this).css("text-transform");
			if(textTransform == 'uppercase'){
				txta = txta.toUpperCase();
			}
			
			$(this).wrapInner('<div class="area"></div>');
			
			$(".area:first", this).flash("assets/swf/text/" + flash, {
					width: twidth, // Recommended
					height: theight, // Recommended
				
				flashvars: {
					txt : txta,
					$textAlign : textAlign,
					fontSize : fontSize,
					fontColor : fontColor,
					$fontWeight : fontWeight
				},
					paremeters: {
					base : ".",
					wmode : "transparent"
				}
			
			})
		});
	
}





function proceedSysBoxTitle(){
		$("#contentArea .boxSys").each( function() {
			var txta = $("h5:first", this).html();
			var trel = $("h5:first", this).attr('title');
			
			txta = normalizeHTML(txta);
			txta = prepareHTML(txta);
			txta = $.string(txta).strip().str;
					
			$(this).wrapInner('<div class="area"></div>');
			$(this).prepend('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="TL"><img src="assets/images/blank.gif" width="1" height="1" /></td><td class="T h5"></td><td class="TR" width="14"><img src="assets/images/blank.gif" width="1" height="1" /></td></tr><tr><td class="L"><img src="assets/images/blank.gif" width="1" height="1" class="LI" /></td><td class="offSets"></td><td class="R"><img src="assets/images/blank.gif" width="1" height="1" class="RI" /></td></tr><tr><td class="BL"><img src="assets/images/blank.gif" width="1" height="1" /></td><td class="B"><img src="assets/images/blank.gif" width="1" height="1" /></td><td class="BR"><img src="assets/images/blank.gif" width="1" height="1" /></td></tr></table>');
			$(".offSets:first", this).html($(".area:first", this));
			$(".h5:first", this).html($("h5:first", this));
			
			$(".area:first", this).addClass('ifPfix');
			
			var twidth = $("h5:first", this).width();
			var theight = $("h5:first", this).height();
			
			var fontSize = $("h5:first", this).css("font-size");
			var fontWeight = $("h5:first", this).css("font-weight");
			var fontColor = prepareColor($("h5:first", this).css("color"));
			
			var textTransform = $(this).css("text-transform");
			if(textTransform == 'uppercase'){
				txta = txta.toUpperCase();
			}
			
			$("h5:first", this).flash("assets/swf/text/flashBoxSysTitle.swf", {
					width: twidth, // Recommended
					height: theight, // Recommended
				
				flashvars: {
					txt : txta,
					lineColor : trel,
					fontSize : fontSize,
					fontColor : fontColor,
					$fontWeight : fontWeight
				},
					paremeters: {
					base : ".",
					wmode : "transparent"
				}
			
			})
			
			
		});

}



function proceedVideoPlayer(){
	$(".videoPlayer").each( function() {

		
		var $video = $("object param[name='$video']", this).attr("value");
		var $assets = $("object param[name='$assets']", this).attr("value");
		var $thumbnail = $("object param[name='$thumbnail']", this).attr("value");
		var $externalPathToFiles = assignValue($("object param[name='$externalPathToFiles']", this).attr("value"), true);
		var $maintainAspect = $("object param[name='$maintainAspect']", this).attr("value");
		var $autoStart = $("object param[name='$autoStart']", this).attr("value");
		var $onComplete = $("object param[name='$onComplete']", this).attr("value");
		var $autoHide = $("object param[name='$autoHide']", this).attr("value");
		
		var $videoPlayerAlign = assignValue($("object param[name='$videoPlayerAlign']", this).attr("value"), "BL");
		
		var $replayButtonAlign = $("object param[name='$replayButtonAlign']", this).attr("value");
		var $replayButtonAlignPadding = $("object param[name='$replayButtonAlignPadding']", this).attr("value");
		var $replayButtonSnapToVideo = $("object param[name='$replayButtonSnapToVideo']", this).attr("value");
		var $replayButtonColor = $("object param[name='$replayButtonColor']", this).attr("value");
		var $replayButtonAlpha = $("object param[name='$replayButtonAlpha']", this).attr("value");
		var $replayButtonTheme = assignValue($("object param[name='$replayButtonTheme']", this).attr("value"), false);
		if($replayButtonTheme){
			$replayButtonColor = '#e28a0b';
			$replayButtonAlpha = '100';
		}
		
		var $playButtonAlign = $("object param[name='$playButtonAlign']", this).attr("value");
		var $playButtonAlignPadding = $("object param[name='$playButtonAlignPadding']", this).attr("value");
		var $playButtonColor = $("object param[name='$playButtonColor']", this).attr("value");
		var $playButtonAlpha = $("object param[name='$playButtonAlpha']", this).attr("value");
		var $playButtonTheme = assignValue($("object param[name='$playButtonTheme']", this).attr("value"), false);
		if($playButtonTheme){
			$playButtonColor = '#e28a0b';
			$playButtonAlpha = '100';
		}
		
		
		var $controllerPosition = $("object param[name='$controllerPosition']", this).attr("value");
		var $controllerRoundedCorners = assignValue($("object param[name='$controllerRoundedCorners']", this).attr("value"), true);
		var $controllerRePosition = assignValue($("object param[name='$controllerRePosition']", this).attr("value"), true);
		
		var $corner = assignValue($("object param[name='$corner']", this).attr("value"), false);
		var $playerSplash = $("object param[name='$playerSplash']", this).attr("value");
		var $playerSplashShadow = $("object param[name='$playerSplashShadow']", this).attr("value");
		var $playerSplashLight = $("object param[name='$playerSplashLight']", this).attr("value");
		
		var $btnClose = $("object param[name='$btnClose']", this).attr("value");
		
		var $bg = $("object param[name='$bg']", this).attr("value");
		if($bg == 'default'){
			$bg = '#242424';
		}
				
		
		
		if($controllerPosition == "outside" && $controllerRePosition){
			$(this).css("height",$(this).height() + 36);
			
		}
		
		var twidth = $(this).width();
		var theight = $(this).height();
		
		
		//$externalPathToFiles
		
		$(this).html('<div class="FPO">&nbsp;</div>');
		
		$(".FPO:first", this).flash("assets/swf/VideoPlayerExtended.swf", {
				width: twidth, // Recommended
				height: theight, // Recommended
			
			flashvars: {
				$video : $video,
				$assets : $assets,
				$externalPathToFiles : $externalPathToFiles,
				$thumbnail : $thumbnail,
				$autoStart : $autoStart,
				$onComplete : $onComplete,
				$maintainAspect : $maintainAspect,
				$autoHide : $autoHide,
				
				$videoPlayerAlign : $videoPlayerAlign,
				
				$replayButtonAlign : $replayButtonAlign,
				$replayButtonAlignPadding : $replayButtonAlignPadding,
				$replayButtonColor : $replayButtonColor,
				$replayButtonAlpha : $replayButtonAlpha,
				$replayButtonSnapToVideo : $replayButtonSnapToVideo,
				$replayButtonColor : $replayButtonColor,
				
				$playButtonAlign : $playButtonAlign,
				$playButtonAlignPadding : $playButtonAlignPadding,
				$playButtonColor : $playButtonColor,
				$playButtonAlpha : $playButtonAlpha,
				$playButtonColor : $playButtonColor,
				
				$controllerPosition : $controllerPosition,
				$controllerRePosition : $controllerRePosition,
				$controllerRoundedCorners : $controllerRoundedCorners,
				
				$hasBottom : hasBottom,
				$corner : $corner,
				$playerSplash : $playerSplash,
				$playerSplashShadow : $playerSplashShadow,
				$playerSplashLight : $playerSplashLight,
				$bg : $bg,
				$btnClose : $btnClose
			},
				paremeters: {
				base : ".",
				wmode : "transparent"
			}
		
		})
		
		
		
		//alert($(this).html());
	});
}

function proceedFlashObject(){
	var _name;
	var _val;
	
	$(".flashObject").each( function() {
		var $src = $("object param[name='$src']", this).attr("value");
		
		var twidth = $(this).width();
		var theight = $(this).height();
		
		var $params = {};
		
		$("object param", this).each( function() {
			_name = $(this).attr("name");
			_val = $(this).attr("value");
			$params[_name] = _val;
		});
		
		if($params.$selector != undefined){
			$params.$code = prepareHTML(normalizeHTML($($params.$selector, this).html()));
		}
		
		if($params.$codeTagsReplace != undefined){
			$params.$code = replaceTags($params.$code, $params.$codeTagsReplace);
		}
		
		$(this).html('<div class="FPO">&nbsp;</div>');
		
		$(".FPO:first", this).flash($src, {
				width: twidth, // Recommended
				height: theight, // Recommended
			
				flashvars: $params,
			
				paremeters: {
				base : ".",
				wmode : "transparent"
			}
		
		})
		
	});
}


function assignValue(val, _false){
	if(val == '' || val == ' ' || val == undefined){
		return _false;	
	}
	
	return val;
}




