// Sniffer based on http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html

var uagent    = navigator.userAgent.toLowerCase();
var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var is_opera  = (uagent.indexOf('opera') != -1);
var is_webtv  = (uagent.indexOf('webtv') != -1);
var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );
var is_ie4    = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );
var is_moz    = ( (navigator.product == 'Gecko')  && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns4    = ( (is_ns) && (parseInt(navigator.appVersion) == 4) );
var is_kon    = (uagent.indexOf('konqueror') != -1);

var is_win    =  ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var ua_vers   = parseInt(navigator.appVersion);


/*-------------------------------------------------------------------------*/
// Center a div on the screen
/*-------------------------------------------------------------------------*/

function show_loading(message)
{
	if ( message )
	{
		document.getElementById( 'loadinglayer-text' ).innerHTML = message;
	}
	
	var centerdiv = new center_div();
	centerdiv.divname = 'loadinglayer';
	centerdiv.move_div();
}
function hide_loading()
{
	var centerdiv = new center_div();
	centerdiv.divname = 'loadinglayer';
	centerdiv.move_div();
	centerdiv.hide_div();
/*		var date = new Date();
		date.setTime(date.getTime()+(60*60));
		var expires = "; expires="+date.toString();
		document.cookie = "closeadv=true"+expires+"; path=/";*/
}

function center_div()
{
	this.divname = '';
	this.divobj  = '';
}

/*-------------------------------------------------------------------------*/
// Main run function
/*-------------------------------------------------------------------------*/

center_div.prototype.move_div = function()
{
	try
	{
		this.divobj = document.getElementById( this.divname );
	}
	catch(e)
	{
		return;
	}
	
	//----------------------------------
	// Figure width and height
	//----------------------------------
	
	var my_width  = 0;
	var my_height = 0;
	
	if ( typeof( window.innerWidth ) == 'number' )
	{
		//----------------------------------
		// Non IE
		//----------------------------------
	  
		my_width  = window.innerWidth;
		my_height = window.innerHeight;
	}
	else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
	{
		//----------------------------------
		// IE 6+
		//----------------------------------
		
		my_width  = document.documentElement.clientWidth;
		my_height = document.documentElement.clientHeight;
		
	}
	else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
	{
		//----------------------------------
		// Old IE
		//----------------------------------
		
		my_width  = document.body.clientWidth;
		my_height = document.body.clientHeight;
	}

	//----------------------------------
	// Show...
	//----------------------------------
	
	this.divobj.style.position = 'absolute';
	this.divobj.style.display  = 'block';
	this.divobj.style.zIndex   = 99;
	
	//----------------------------------
	// Get div height && width
	//----------------------------------
	
	var divheight = parseInt( this.divobj.style.Height );
	var divwidth  = parseInt( this.divobj.style.Width );
	
	divheight = divheight ? divheight : 200;
	divwidth  = divwidth  ? divwidth  : 500;

	//----------------------------------
	// Get current scroll offset
	//----------------------------------
	
	var scrolly = this.getYscroll();
	
	//----------------------------------
	// Finalize...
	//----------------------------------
	
	var setX = ( my_width  - divwidth  ) / 2;
	var setY = ( my_height - divheight ) / 2 + scrolly;

	setX = ( setX < 0 ) ? 0 : setX;
	setY = ( setY < 0 ) ? 0 : setY;
	
	this.divobj.style.left = setX + "px";
	this.divobj.style.top  = setY + "px";
}

/*-------------------------------------------------------------------------*/
// Hide div
/*-------------------------------------------------------------------------*/

center_div.prototype.hide_div = function()
{
	try
	{
		if ( ! this.divobj )
		{
			return;
		}
		else
		{
			this.divobj.style.display  = 'none';
		}
	}
	catch(e)
	{
		return;
	}
}

/*-------------------------------------------------------------------------*/
// Get YScroll
/*-------------------------------------------------------------------------*/

center_div.prototype.getYscroll = function()
{
	var scrollY = 0;
	
	if ( document.documentElement && document.documentElement.scrollTop )
	{
		scrollY = document.documentElement.scrollTop;
	}
	else if ( document.body && document.body.scrollTop )
	{
		scrollY = document.body.scrollTop;
	}
	else if ( window.pageYOffset )
	{
		scrollY = window.pageYOffset;
	}
	else if ( window.scrollY )
	{
		scrollY = window.scrollY;
	}
	
	return scrollY;
}

function CA1()
{
	for (var i=0;i<document.cpform.elements.length;i++)
	{
		var e=document.cpform.elements[i];
		if ((e.name != 'checkall1') && (e.name.indexOf('khongluu')==-1))
		{
			e.checked=document.cpform.checkall1.checked;
		}
	}
}

function getChecked()
{
	var dacheck = false;
	for (var i=0;i<cpform.elements.length;i++)
	{
		var e=cpform.elements[i];
		if ((e.name != 'checkall1') && (e.name.indexOf('khongluu')==-1))
		{
			if (e.checked==true)
				dacheck = true;
		}
	}
	return dacheck;
}

function show_div(ob1) {
  if (document.getElementById(ob1).style.display == "none") {
    document.getElementById(ob1).style.display = "";
  } else {
    document.getElementById(ob1).style.display = "none";
  }
}

// FIXME: VFL this is hard for the resource analyzer to find
// better to always reference resources by site-relative urls
// probably what would work here is a mapping of button states
// to site-relative image paths - right now there is no hope of
// the VFL dependecy checker finding the images used here
function imgRollover(imgIdArr)
{
	if (navigator.userAgent.match(/Opera (\S+)/)) {
		var operaVersion = parseInt(navigator.userAgent.match(/Opera (\S+)/)[1]);
	}
	if (!document.getElementById||operaVersion <7) return;
	var i=0;
	var imgId='';
	var imgEle='';
	var imgArr=new Array;
	for (i=0;i<imgIdArr.length;i++)
	{
		if (document.getElementById(imgIdArr[i]))
		{
			imgArr.push(document.getElementById(imgIdArr[i]));
		}
	}
	var imgPreload=new Array();
	var imgSrc=new Array();
	var imgClass=new Array();
	for (i=0;i<imgArr.length;i++)
	{
		if (imgArr[i].className.indexOf('rollover')>-1)
		{
			// If for some reason images are stored outside of the /img dir, this will break
			imgSrc[i]=imgArr[i].getAttribute('src');
			imgClass[i]=imgArr[i].className;
			imgPreload[i]=new Image();
			if (imgClass[i].match(/rollover (\S+)/)) 
			{
				// FIXME: VFL this is hard for the resource analyzer to find
				// better to always reference resources by site-relative urls
				imgPreload[i].src = 'images/icon/'+imgClass[i].match(/rollover (\S+)/)[1];
			}
			imgArr[i].setAttribute('rsrc', imgSrc[i]);
			imgArr[i].onmouseover=function() 
			{
				// FIXME: VFL this is hard for the resource analyzer to find
				// better to always reference resources by site-relative urls
				this.setAttribute('src', 'images/icon/'+this.className.match(/rollover (\S+)/)[1])
			}
			imgArr[i].onmouseout=function() 
			{
				this.setAttribute('src',this.getAttribute('rsrc'))
			}
		}
		// Expand image rollover trigger to support anchor tags. -bt
		else if (imgArr[i].tagName == 'A')
		{
			imgArr[i].onmouseover=function()
			{
				var imgObj = document.getElementById(this.id.match(/_(\S+)/)[1]);
				// FIXME: VFL this is hard for the resource analyzer to find
				// better to always reference resources by site-relative urls
				imgObj.setAttribute('src', 'images/icon/'+imgObj.className.match(/rollover (\S+)/)[1])
			}
			imgArr[i].onmouseout=function()
			{
				var imgObj = document.getElementById(this.id.match(/_(\S+)/)[1]);
				imgObj.setAttribute('src',imgObj.getAttribute('rsrc'))
			}
		}
	}
}


function addFav3(id,type_fav)
{
	var url = "ajax/js_add_fav.php";
	var data_post = "id=" + id + "&ismusic=" + type_fav;
	
		/*--------------------------------------------*/
		// Main function to do on request
		// Must be defined first!!
		/*--------------------------------------------*/
		
	do_request_function = function()
	{
		//----------------------------------
		// Ignore unless we're ready to go
		//----------------------------------
		
		if ( ! xmlobj.readystate_ready_and_ok() )
		{
			// Could do a little loading graphic here?
			//xmlobj.show_loading("Bạn hãy chờ giây lát !");
			return;
		}
		//xmlobj.hide_loading();
		
		//----------------------------------
		// INIT
		//----------------------------------
		
		var html = xmlobj.xmlhandler.responseText;

		if ( html != '' )
		{
			document.getElementById("addToFavesResult").style.display = '';
			document.getElementById("a2_i2").style.display = 'none';
		} else alert('Có lỗi, không thể gởi bài !');
	}
	
	//----------------------------------
	// LOAD XML
	//----------------------------------
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange( do_request_function );
	xmlobj.process( url, "POST", data_post);
}

function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function


// === Get/Hide/Show/Toggle ===  src="suggest/base.js"

function ge()
{
  var ea;
  for( var i = 0; i < arguments.length; i++ ) {
    var e = arguments[i];
    if( typeof e == 'string' )
      e = document.getElementById(e);
    if( arguments.length == 1 )
      return e;
    if( !ea )
      ea = new Array();
    ea[ea.length] = e;
  }
  return ea;
}

function show_div()
{
  for( var i = 0; i < arguments.length; i++ ) {
    var element = ge(arguments[i]);
    if (element && element.style) element.style.display = '';
  }
  return false;
}

function hide_div()
{
  for( var i = 0; i < arguments.length; i++ ) {
    var element = ge(arguments[i]);
    if (element && element.style) element.style.display = 'none';
  }
  return false;
}
function default_class()
{
  for( var i = 0; i < arguments.length; i++ ) {
    var element = ge(arguments[i]);
	// && element.id!=current_page
    if (element && element.style)
	{
		if (element.id=='menut3')
			element.className = "nav-1-nokia";
		else element.className = "nav-1";
	}
  }
  return false;
}
function change_class(eln)
{
	var element = ge(eln);
	if (element.id=='menut3')
		element.className = "nav-2-nokia";
	else element.className = "nav-2";
	return false;
}
function hide_menu()
{
	hide_div("menut1_t","menut2_t","menut3_t","menut4_t","menut5_t","menut6_t","menut7_t");
	default_class("menut1","menut2","menut3","menut4","menut5","menut6","menut7");
}
function show_menu(eln)
{
	hide_menu();
	show_div(eln + '_t');
	change_class(eln);
}

function hide_menu2(eln)
{
	hide_div(eln+"1_t",eln+"2_t",eln+"3_t",eln+"4_t",eln+"5_t",eln+"6_t");
	default_class(eln+"1",eln+"2",eln+"3",eln+"4",eln+"5",eln+"6");
}
function show_menu2(eln,key)
{
	hide_menu2(eln);
	show_div(eln + key + '_t');
	change_class(eln + key);
}

function hide_menu3(eln)
{
	hide_div(eln+"1_t",eln+"2_t",eln+"3_t",eln+"4_t");
	default_class3(eln+"1",eln+"2",eln+"3",eln+"4");
}
function show_menu3(eln,key)
{
	hide_menu3(eln);
	show_div(eln + key + '_t');
	change_class3(eln + key);
}

function default_class3()
{
  for( var i = 0; i < arguments.length; i++ ) {
    var element = ge(arguments[i]);
    if (element && element.style)
	{
		element.className = "ld-1";
	}
  }
  return false;
}
function change_class3(eln)
{
	var element = ge(eln);
	element.className = "ld-2";
	return false;
}

function showhide()
{
  for( var i = 0; i < arguments.length; i++ ) {
    var element = ge(arguments[i]);
	if (element && element.style) 
	{
		if (element.style.display == '')
			element.style.display = 'none';
		else element.style.display = '';
	}
  }
  return false;
}
function copytoclipboard(text2copy) {
  if (window.clipboardData) {
	window.clipboardData.setData("Text",text2copy);
  } else {
	var flashcopier = 'flashcopier';
	if(!document.getElementById(flashcopier)) {
	  var divholder = document.createElement('div');
	  divholder.id = flashcopier;
	  document.body.appendChild(divholder);
	}
	document.getElementById(flashcopier).innerHTML = '';
	var divinfo = '<embed src="js/_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
	document.getElementById(flashcopier).innerHTML = divinfo;
  }
}