

function selectAllMultiple(element_id, selectbool)
{
	var element = $(element_id);
	for(var x=0;x<element.options.length;x++)
	{
		element.options[x].selected = selectbool;
	}
}       
       
       
function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}


sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			//alert(this.className);
			
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
function toggleDisplay(div_id)
{
	expand_id = div_id +'_expand';
	if($(expand_id))
	{
		if($(expand_id).innerHTML == '+')
		{	$(expand_id).innerHTML = '-';
		}
		else
		{	$(expand_id).innerHTML = '+'
		}
		$(div_id).toggle();
	}
}

function MediaChoser(type,ext,callback,noclose)
{
	if(noclose)
	{
		var url = '/Mediamanager/chose/type/'+type+'/ext/'+ext+'/callback/'+callback+'/noclose/'+noclose;
	}
	else
	{
		var url = '/Mediamanager/chose/type/'+type+'/ext/'+ext+'/callback/'+callback;
	}
	window.open(url,"mediachoser","location=0,status=0,scrollbars=1,width=1068,height=780,resizable=yes");
	return false;
}
function setCookie( name, value, expires, path, domain, secure ) 
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct 
expires time, the current script below will set 
it for x number of days, to make it for hours, 
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

function getCookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

function TGPopupWindow(url, height, width, scrollbars) 
{ 	
	var left = (screen.width-parseInt(width))/2; 
	var top = (screen.height-parseInt(height))/2; 
	var newwindow = window.open(url,'name','height='+height+',width='+width+',scrollbars='+scrollbars+',left='+left+',top='+top+',resizable=yes');
	
	if (window.focus) 
	{
		newwindow.focus();
	} 
}
function TGevalJSON(str)
{
	
	
	if(str.isJSON())
	{
		var values = str.evalJSON(true);
		if(values['redirect'])
		{
			if(values['redirect'].strip() == '')
				vales['redirect'] = '/index.php/tg/';
			window.location.href=values['redirect'];
			return false;
		}
		return str.evalJSON(true);
	}
	else
	{
		
		if(str.index == 'INVALID_SESSION')
		{
			window.location.href='/index.php/tg/login';
		}
		else
		{
			alert(str);
		}
		HideLoading();
		return false;
	}
}



function SetInnerText(id,content)
{
	var obj = document.getElementById(id);
	if(obj) obj.innerHTML = content; else alert('HTML element with id: ' + id + ' does not exist.');	
}

function ShowLoading(text)
{

    id = 'loading-notice';
    if(text == '')
        text = 'Loading...';
    SetInnerText(id,text);

    centerDiv = $jQ('#loading-notice');
    centerDiv.css('top', $jQ(window).height()/2-centerDiv.height()/2);
    centerDiv.css('left', $jQ(window).width()/2-centerDiv.width()/2);
    $jQ("#loading-notice").fadeIn();
    $jQ.dimScreen();
}


function HideLoading()
{
    $jQ("#loading-notice").fadeOut();
    $jQ.dimScreenStop();
	initButton();
}

function displayError(errorTarget, errorMessages)
{
	var message = '';
	for(i=0;i<errorMessages.length;i++)
	{
		message = message + '<li>' + errorMessages[i] + '</li>';
	}
	message = '<div class="errorMsg"><ul>'+message+'</ul></div>';
	
	SetInnerText(errorTarget,message);
}
function displaySuccess(errorTarget, errorMessages)
{
	var message = '';
	for(i=0;i<errorMessages.length;i++)
	{
		message = message + '<li>' + errorMessages[i] + '</li>';
	}
	message = '<div class="successMsg"><ul>'+message+'</ul></div>';
	
	SetInnerText(errorTarget,message);
}
function eFader(divId, isSlide){
	if(isSlide == false){
		show = 'fadeIn';
		hide = 'fadeOut';
	}else{
		show = 'slideDown';
		hide = 'slideUp';
	}
    if($jQ('#'+divId).attr('class') == 'showDiv')
    	eval("$jQ('#'+divId)."+show+"(function(){$jQ('#'+divId).attr('class','hideDiv')});");
        
    else
        eval("$jQ('#'+divId)."+hide+"(function(){$jQ('#'+divId).attr('class','showDiv')});");
        
}

function inititalizeTooltip()
{	
	var tooltipObj = new DHTMLgoodies_formTooltip();
	tooltipObj.setTooltipPosition('below');
	tooltipObj.setPageBgColor('#FFFFFF');
	tooltipObj.setTooltipCornerSize(3);
	tooltipObj.initFormFieldTooltip();
	
}


function initButton() {
	//get all buttons
	var elements = document.getElementsByTagName('input');
	var j = 0;
	var buttons = new Array();
	for (var i5 = 0; i5 < elements.length; i5++) {
		if(elements[i5].className=='buttonSubmit') {
			buttons[j] = elements[i5];
			++j;
			
		}
		
		if(elements[i5].className=='')
		{
			elements[i5].className = 'normalInput';
			
		}
	}
	
	
	//add hover effects
	for (var i5 = 0; i5 < buttons.length; i5++) {
	
		buttons[i5].onmouseover = function() {this.className += "Hovered";}
		buttons[i5].onmouseout = function() {this.className = this.className.replace(/Hovered/g, "");}
		
	}
	var elements = document.getElementsByTagName('textarea');
	for (var i5 = 0; i5 < elements.length; i5++) 
	{
		if(elements[i5].className=='')
		{
			elements[i5].className = 'normalTextarea';
			
		}
	}
	var elements = document.getElementsByTagName('select');
	for (var i5 = 0; i5 < elements.length; i5++) 
	{
		if(elements[i5].className=='')
		{
			elements[i5].className = 'normalInput';
			
		}
	}
}

function DeleteRow(div_id, common_name)
{	
	var whatever= new Effect.SwitchOff(document.getElementById(div_id));
	var elements = document.getElementsByTagName('tbody');
	var count=0;
	var class_name='second';
	var snstart=-1;
	for(var i=0;i<elements.length;i++)
	{
		var str = elements[i].id;
		if(str.indexOf(common_name)!=-1)
		{
			if(str != div_id && elements[i].style.display!='none')
			{	
				if(class_name=='first')
					class_name='second';
				else
					class_name='first';
				elements[i].className = class_name;
				var sndiv = str.replace(common_name, common_name+'sn_');
				if(snstart==-1)
				{
					snstart = parseInt(document.getElementById(sndiv).innerHTML);
					if(snstart == 2)
					{
						snstart = 1;						
						document.getElementById(sndiv).innerHTML = snstart;	
					}
				}
				else
				{	snstart+=1;
					document.getElementById(sndiv).innerHTML = snstart;	
				}
			}
		}			
	}
	

}
function pause(millisecondi)
{
    var now = new Date();
    var exitTime = now.getTime() + millisecondi;

    while(true)
    {
        now = new Date();
        if(now.getTime() > exitTime) return;
    }
}

function delcheck(button) 
{
                var form = $(button.form);
                var inputs = form.getInputs('checkbox');
                inputs.each(function (elem) {
                	if(elem.id != 'deleteall')
                	{
                		elem.checked = button.checked;
                	}
                });
        }

function set_sort(sort_by_val)
{
	var sort_by = document.getElementById('sort_by');
	var order_by = document.getElementById('order_by');
	
	if(sort_by.value == sort_by_val)
	{
		if(order_by.value == 'ASC')
			order_by.value = 'DESC';
		else
			order_by.value = 'ASC';
	}
	else
	{
		sort_by.value = sort_by_val;
		order_by.value = 'ASC';
	}
	sort_by.form.submit();
}


 	function delay(seconds)
    {
        var ms   = seconds * 1000;
        var then = new Date().getTime();
        var now  = then;

        while ((now - then) < ms)
            now = new Date().getTime();
    }
    
    function checkall(element, name)
    {
    	var elements = document.getElementsByTagName('input');
    	
    	for(i=0;i<elements.length;i++)
    	{
    		if(elements[i].type == 'checkbox')
    		{
	    		if(elements[i].name.indexOf(name) != '-1' || name=='')
	    		{
	    			elements[i].checked = element.checked;
	    		}
	    	}
    	}
    }
    
    function checkAll(fieldname, fieldchecked)
	{
	var elements = document.getElementsByTagName('input');
	
	
	for(var i=0;i<elements.length;i++)
	{
		var str = elements[i].name;
		if(str == fieldname && !elements[i].disabled)
		{	elements[i].checked = fieldchecked;
			
		}			
	}
}
