// JavaScript Document

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// JavaScript Document
function getCookie(c_name)
{
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}
function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
} 

/*
disable or enable elements in the form depen on the flag
*/
function DisableEnableFormElements(p_form, p_flag){
	for(i=0; i<p_form.elements.length; i++)
	{
		var val = false;
		if (p_flag=="enable"){
			val = false;
		}else if (p_flag=="disable"){
			val = true;
		}
		p_form.elements[i].disabled = val;
	}	
}

/*
empty elements in the form
*/
function EmptyFormElements(p_form){
	for(i=0; i<p_form.elements.length; i++)
	{
		var elem = p_form.elements[i];
		if (elem.type=='text' || elem.type=='textarea' || elem.type=='password') elem.value = "";
		if (elem.type=='select-one') elem.selectedIndex=0;
		if (elem.type=='radio') elem.checked=false;
	}
}


/*
based on JQuery - Fade the element TO
p_speed: A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).
*/
function fadeTo(p_elem_id, p_speed, p_opacity, p_callback_func)
{
	if (p_elem_id.substr(0, 1)!="#") p_elem_id="#"+p_elem_id;
	$(p_elem_id).fadeTo(p_speed, p_opacity, p_callback_func);
}

/*
based on JQuery - Fade the element IN
p_speed: A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).
*/
function fadeIn(p_elem_id, p_speed, p_callback_func)
{
	if (p_elem_id.substr(0, 1)!="#") p_elem_id="#"+p_elem_id;
	$(p_elem_id).fadeIn(p_speed, p_callback_func);
}
function fadeOut(p_elem_id, p_speed, p_callback_func)
{
	if (p_elem_id.substr(0, 1)!="#") p_elem_id="#"+p_elem_id;
	$(p_elem_id).fadeOut(p_speed, p_callback_func);
}

function Hide(p_elem_id, p_speed, p_callback_func)
{
	var obj = document.getElementById(p_elem_id);
	$(obj).hide(p_speed, p_callback_func);
}
function Show(p_elem_id, p_speed, p_callback_func)
{
	var obj = document.getElementById(p_elem_id);
	$(obj).show(p_speed, p_callback_func);
}

/*
Loop through the combobox and make the selection if matched with p_val
*/
function MakeCoboboxSelection(p_combobox, p_val)
{
	for(var i=0; i<p_combobox.length; i++)
	{
		if (p_combobox.options[i].value==p_val)
		{
			p_combobox.options[i].selected = true;
			break;
		}
	}
}

/*
add new table row
*/
function addRow(table_id, rowIndex, quest_id, quest_data)
{
	var newRow = document.getElementById(table_id).insertRow(rowIndex);
	newRow.setAttribute('id', 'quest_'+quest_id);
	var oCell = newRow.insertCell(0);
	oCell.innerHTML = quest_data;
}

/*
remove table row
*/
function removeRow(table_id, src)
{
	var oRow = src.parentNode.parentNode;
	document.getElementById(table_id).deleteRow(oRow.rowIndex);
}

/*
Get query string variable
*/
function querySt(p_var)
{
	hu = window.location.search.substring(1);
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) 
	{
		ft = gy[i].split("=");
		if (ft[0] == p_var) 
		{
			return ft[1];
		}
	}
}

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.parentNode;
    }
    return { top: _y, left: _x };
}

function basename (path, suffix) {
    // Returns the filename component of the path  
    // 
    // version: 910.820
    // discuss at: http://phpjs.org/functions/basename    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Ash Searle (http://hexmen.com/blog/)
    // +   improved by: Lincoln Ramsay
    // +   improved by: djmix
    // *     example 1: basename('/www/site/home.htm', '.htm');    // *     returns 1: 'home'
    // *     example 2: basename('ecra.php?p=1');
    // *     returns 2: 'ecra.php?p=1'
    var b = path.replace(/^.*[\/\\]/g, '');
        if (typeof(suffix) == 'string' && b.substr(b.length-suffix.length) == suffix) {
        b = b.substr(0, b.length-suffix.length);
    }
    
    return b;
}