/************
 * Load libraries 
 *************/
IGN.lib ={
	SCRIPTS_ROOT : 'views/js/',
	JSLIB_ROOT : 'views/js/',
	PLUGIN_ROOT : 'views/js/',
	_jArr : [],
	_pArr : [],
	loadjs : function(j,p){
		if ($j.inArray(j, this._jArr) == -1) {	
			//alert(this.JSLIB_ROOT + j + '.js');		
			$j.getScript(this.JSLIB_ROOT + j + '.js', function(){				
				IGN.lib._jArr.push(j)
				//alert('j: '+j+' p: '+p);
				if (typeof IGN[j] != 'undefined')
				{
					IGN[j].init(p);	
				}
				else
				{
					$j.getScript(this.JSLIB_ROOT + j + '.js', function(){				
				IGN.lib._jArr.push(j);
				IGN[j].init(p);	
				})
					//window.location.reload();
				}
				//pause(3000);
			})		  		  
		}else {
			//alert('j: '+j+' p: '+p);
			IGN[j].init(p);
			//alert('j: '+j+' p: '+p);
			//pause(3000);
		}
	},
	loadplugin : function(p,cb){
		if ($j.inArray(p, this._pArr) == -1){
			$j.getScript(this.PLUGIN_ROOT + p + '.js', function(){
				IGN.lib._pArr.push(p)
				cb()
			})
		}else{
			cb()
		}		
	}
};
/************
 * Load pagetype specific JS, if necessary 
 *************/
switch(IGN.pagetype){
	case 'channel':
	case 'channel_video':
		$j.getScript(IGN.lib.SCRIPTS_ROOT +'/channel.js')
		break;
	case 'mediavideolist':
		$j.getScript(IGN.lib.SCRIPTS_ROOT +'mediavideolist.js')
		break;
}

/************
 * Load these right away
 *************/
	$j.getScript(IGN.lib.PLUGIN_ROOT + 'jquery.elementReady.js', function(){
		//pause(8000);
		IGN.lib.loadjs('headernav');
	})
	
/************
 * Basic JS Utilities
 *************/
IGN.util = {
	searchCheatsFormSubmit: function(form){
		var subdomain = document.location.href;
		qry = urlEncode(form.query.value);
		if (qry == "") {
			alert('Molimo Vas da upisete trazeni termin.');
			return;
		} // check for empty strings 
		redir = "";
		if (form.domain[0].checked) { // cheats
			//redir = "http://search.ign.com/articles?genNav=true&typeName=33&query=" + qry;
			redir = "http://bosnic.com/articles?genNav=true&typeName=33&query=" + qry;
		}
		else 
			if (form.domain[1].checked) { // guides
				//redir = "http://search.ign.com/articles?genNav=true&typeName=29&query=" + qry;
				redir = "http://bosnic.com/articles?genNav=true&typeName=29&query=" + qry;
			}
			else 
				if (form.domain[2].checked) { // faqs
					//redir = "http://search.ign.com/articles?genNav=true&typeName=31&query=" + qry;
					redir = "http://bosnic.com/articles?genNav=true&typeName=31&query=" + qry;
				}
		gotoval = redir;
		if (gotoval != "") {
			document.location = gotoval;
		}
		return;
	},
	validatePlatformForm: function(form){
		if (form.morePlatformsSelect.value == '') {
			alert("Please select a platform.");
		}
		else {
			document.location = form.morePlatformsSelect.value
		}
	},
	snipIt: function(str, count){
		if (str == null) {
			return null
		}
		str = $j.trim(str)
		if (str.length < count) {
			return str;
		}
		
		return str.slice(0, count) + '...';
		
	},
	cleanText: function(str){
		if (str != null) {
			str = str.replace(/\é/g, "&#233;");
			str = str.replace(/\’/g, "&#39;");
			str = str.replace(/\“/g, "&#34;");
			str = str.replace(/\�?/g, "&#34;");
			str = str.replace(/\…/g, "...");
			str = str.replace(/<[^<|>]+?>/gi, '');
			return str;
		}
		else {
			return null;
		}
	}
}
	
/********************
 * Locale implementation**
 *********************/	
IGN.locale ={
	init: function(loc){
		switch(loc){
			case 'uk':
			 IGN.locale.initUK();
			 break;
			case 'au':
			 IGN.locale.initAU()
			 break;
			default:
			 return
		}
	},	
	initUK : function(){
		//$j('#mast_logo_flag').html('<img src="../../../media.ign.com/ign/imgs/logo_flag_uk.png"/>').show();
		//$j('#join_img').attr('src', '../../../media.ign.com/ign/imgs/bg_hub_insider_join_noprice.gif' );
	},	
	initAU : function(){
		//$j('#mast_logo_flag').html('<img src="../../../media.ign.com/ign/imgs/logo_flag_au.png"/>').show();
		//$j('#join_img').attr('src', '../../../media.ign.com/ign/imgs/bg_hub_insider_join_noprice.gif' );
	}
} 

$j(document).ready(function(){
	
	
/*********************
 *** Initialize localization***
 **********************/
    IGN.locale.init(getLocale()); 
	
/********************
 * Global Tab events**
 *********************/
  $j('ul.tabs').each(function(i,tab){  	
	 $j(tab).children('li:last').addClass('last');
	 if($j(tab).children('li').length == 1){
	  	 $j(tab).addClass('last_selected');
	  }
  })
  $j('ul.tabs').click(function(e){
		var target = $j(e.target)
		if (target.is('a')){
			target = target.parent()
		}
		var tab_divs = $j(this).attr('id').slice(0,-4)
		if (target.is('li') && !target.hasClass('tab_selected')){
			$j(this).children('li').removeClass('tab_selected').addClass('tab_default')
			target.removeClass('tab_default').addClass('tab_selected')				
			if (target.hasClass('last')){
				$j(this).addClass('last_selected')
			}else{
				$j(this).removeClass('last_selected')
			}
			var id = target.attr('id').slice(0,-3)
			$j('#'+tab_divs+'divs').children('div').hide()
			$j('#' +id+'div').show()				
		}			
	})
	
	$j('ul.tabs li').hover(function(e){
		if (!$j(e.target).hasClass('tab_selected')){
			$j(this).addClass('hover')
		}
	},function(e){
		if (!$j(e.target).hasClass('tab_selected')){
			$j(this).removeClass('hover')
		}
	})
	
 /*********************
 *** IE PNG fix for IE6**
 **********************/
  if ($j.browser.msie && $j.browser.version <7){	  
	  $j.getScript(IGN.lib.PLUGIN_ROOT +'jquery.pngFix.js',function(){
	  	$j(document).pngFix();
	  })	
  }
      
 /*********************
 *** Masthead events***
 **********************/
  $j('#mast_logo').click(function(){
  	//document.location = 'http://www.ign.com/';
  	document.location = 'http://www.bosnic.com/';
  });
  $j('#mast_logo').hover(function(){
  		$j(this).addClass('hover');
	},function(){
		$j(this).removeClass('hover');
  });


 })
 
 function pause(milliseconds) {
	var dt = new Date();
	while ((new Date()) - dt <= milliseconds) { /* Do nothing */ }
}
