var $onesite=jQuery.noConflict();
var isIE = "\v" == "v";
var isFancy = !isIE;

/* ######################### Onesite Library ######################### 
########## Table of content
- menu
-- init
-- browse
-- view
- playlist
- popOut
- animation
- error
- ds
- template
- param
- cache
*/

var onesite={
	init:function(options, target) {
		onesite.param.loginStatus();
	},
	param:{
		server:{
			state:false,
			notification:{
				expiring:0,
				subscription:0
			},
			time:0,
			videoPage:'/ondemand/video/'
		},
		loginStatus:function() {
			var thisDomain = window.location.hostname;
	    	var logstatUrl = 'http://' + thisDomain + '/api/Member/loginstatus/';
	    	$onesite.ajax({
				url : logstatUrl,
				dataType : 'json',
				success: function(data) {
					onesite.param.server.state = data.loginstatus.response;
					if(!data.loginstatus.response)	$onesite.cookie('core_anon', '1', { path: '/', domain: '.sbs.com.au', expires: 7});
	
				}
	    	});
		},
	},
	logout:function() {
		$onesite('a.logout').bind('click', function() {
        	var thisDomain = window.location.hostname;
        	var logoutUrl = 'http://' + thisDomain + '/api/Member/logout/';
        	$onesite.ajax({
				url : logoutUrl,
				dataType : 'json',
				success: function(data) {
					window.location.reload();
				}
        	});
		});
	},
	overlay: {
		init:function() {
			onesite.overlay.attach();
			onesite.logout();
		},
		close:function() {
			var ovrly = $onesite('#ovrly');
			var overlay = $onesite('#vod_overlay');
			$onesite('#mask').fadeOut('fast');
			overlay.fadeOut('fast',function(){
				if ($onesite('#mask').length==1){
					$onesite('#mask').remove();
					$onesite('#vod_overlay').remove();
					$onesite('#close').remove();
					$onesite('#overlay_content').remove();
				};
			});
		},
		//attach overlays
		attach:function() {
			// start: takeover oneClicks login panel
			var thisDomain = window.location.hostname.replace('www.', '');
			var thisDomain = thisDomain.replace('theworldgame.', '');
			
			//var onClick = $onesite('a#socialLoginLinkLogin').attr('onclick');
			var onClick = "$onesite.cookie('core_anon', null, { path: '/', domain: '.sbs.com.au'}); oneSocialLogin.init(); return false;";
			/*var onClick = 'javascript:void(0)';*/
			$onesite('#socialLoginLink').html('<a class="lgn" href="javascript:void(0);" onclick="'+onClick+'">Login</a><span></span><a id="oneSignupLink" href="http://secure.' + thisDomain + '/signon/onesite/profile" title="Sign up now">Sign up now</a><div class="spreader"></div>');
			$onesite('.vod_login').show();
			var uLoggedIn = $onesite('#tum_avatar_container');
			var uLogOut = $onesite('#tum_top_links_td');
			var loggedIn = uLoggedIn.length;
			var checkSite = window.location.hostname;
			
			if(loggedIn > 0) {
				var uUrl = uLoggedIn.find('a').attr('href');
				var user = uUrl.replace('http://my.sbs.com.au/', '');
				if(checkSite.search('theworldgame.') >= 0) {
					// add undefined condition					
					twgPanel();
					//$onesite('.vod_login').html('<a class="user" href="/memberservices/user/'+ user +'" title="'+ user +' Profile">'+ user +'</a><span></span><a class="account_settings" href="http://theworldgame.' + thisDomain + '/memberservices/profile/" title="'+ user +' - Account Settings">Account Settings</a><span></span><a class="logout" target="_self" href="javascript:void(0);" title="Logout">Logout</a>');
				} else {
					$onesite('.vod_login').html('<a class="user" href="javascript:void(0);">'+ user +'</a><span></span><a class="logout" target="_self" href="javascript:void(0);" title="Logout">Logout</a>');
				}
			} else {
				//site specific conditions (TWG)
				if(checkSite.search('theworldgame.') >= 0) {
					var becomeLink = $onesite('#socialLoginLink a.become').length;
					var settingsLink = $onesite('a#oneAccountSettings').length;
					if(becomeLink == 0) {
						$onesite('<a class="become" href="/news/994456/Become-a-Member" title="Become a Member" target="_parent">Become a Member</a><span></span>').insertBefore($onesite('#socialLoginLink a.lgn'))
					}
					if(settingsLink != 0) {
						$onesite('a#oneAccountSettings').each( function() {
							$onesite(this).attr('href','http://theworldgame.'+thisDomain+'/memberservices/profile/');
						});
					}
					/*$onesite('#socialLoginLink a.lgn').click( function() {
						
						$('#modalLoginBox').clone().appendTo('body');
						//console.log('div#modalLoginBox'.html);
					})*/
				}
			}
			// end: takeover oneClicks login panel
			var tCount = 0;
			$onesite('#oneSignupLink, #oneAccountSettings').click(function() {
				var checkOnesite = $onesite('a.modalClose')?true:false;
				if(checkOnesite) {
					$onesite('a.modalClose').click(); // close OneSite login form
				};
				var a = $onesite(this);
				if (a.hasClass('account_settings')) {
					var url = a.attr('name');
				}
				else {
					var url = 'http://secure.' + thisDomain + '/signon/onesite/register';	
				}
				var iframe = a.attr('href')?true:false;
				var type = iframe?'<iframe id=\'iframe\' scrolling=\'no\' frameborder=\'0\'></iframe>':'<div id=\'overlay_container\'></div>';
					
				// check if overlay exists
				if ($onesite('#mask').length==0){
					$onesite('body').append('<div id=\'mask\'></div><div id=\'vod_overlay\'><div id=\'close\'><span></span>Close</div><div id=\'overlay_content\'>'+type+'</div></div>');
					$onesite('#close').click(function(){onesite.overlay.close();});
					$onesite('#mask').click(function() {
						onesite.overlay.close();
					});
					$onesite('#vod_overlay').click(function(event){
						//event.stopPropagation();
					});
				};
				$onesite('#overlay_content').html(type);
				if (iframe){$onesite('#iframe').attr('src',url);}
				else {
					$onesite('#overlay_container').load(url,function() {
					});
				};	
				// set inner based on type
				var overlay = $onesite('#vod_overlay');	

				// show (extra bits needed 'cause ie sucks...)
				var top_pos = $onesite(window).scrollTop() - (parseFloat(overlay.css('height'))/2);
				$onesite('#mask').css({'height':$onesite(document).height(),'display':'block','opacity':'0'}).animate({opacity:['1','swing']},'fast');
		
				var windowHeight = $onesite(window).height()/2;
				var divHeight = $onesite('#vod_overlay').height()/2;
				var divPos = windowHeight-divHeight;
				overlay.css('marginTop',divPos+'px').fadeIn('fast');
				return false;
			});
		}
	}
};
