function showInfo(name, display) {
	var pattern = /\b \b/ig;
	name = name.replace(pattern,'_');
	var html=name;
	html = display;
	return overlib(html, CAPTION, name)
}

function showInfoSticky(name, display, width) {
	var pattern = /\b \b/ig;
	name = name.replace(pattern,'_');
	var html=name;
	html = display;
	return overlib(html, STICKY, CAPTION, name, CLOSETEXT, 'Close', WIDTH, width)
}

function submitForm(pressbutton){
	if(pressbutton == "delete"){
		if (confirm("Are you sure you want to remove this item?")) {
				document.form.task.value=pressbutton;
				try{
					document.form.onsubmit();
					}
				catch(e){}
				document.form.submit();
		}	
	}else{
		document.form.task.value=pressbutton;
		try{
			document.form.onsubmit();
			}
		catch(e){}
		document.form.submit();
	}
}

function submitFormID(pressbutton, id){
	document.form.task.value=pressbutton;
	document.form.Itemid.value=id;
	try{
		document.form.onsubmit();
		}
	catch(e){}
	document.form.submit();
}

function submitbutton(pressbutton) {
	submitForm(pressbutton);
}
function submitbuttonID(pressbutton, id) {
	if(pressbutton == "delete"){
		if (confirm("Are you sure you want to remove this item?")) {
				submitFormID(pressbutton, id);
		}	
	}else{
		submitFormID(pressbutton, id);
	}
	
}

function cancel(){
	history.back();
}


function redirectURL(url){
	window.location.href = url;
}

function checkAll( n, fldName ) {
  if (!fldName) {
     fldName = 'cb';
  }
	var f = document.form;
	var c = f.toggle.checked;
	var n2 = 0;
	for (i=0; i < n; i++) {
		cb = eval( 'f.' + fldName + '' + i );
		if (cb) {
			cb.checked = c;
			n2++;
		}
	}
	//if (c) {
	//	document.form.boxchecked.value = n2;
	//} else {
	//	document.form.boxchecked.value = 0;
	//}
}

function checkAll2( n, fldName ) {
  if (!fldName) {
     fldName = 'cb2';
  }
	var f = document.form;
	var c = f.toggle2.checked;
	var n2 = 0;
	for (i=0; i < n; i++) {
		cb = eval( 'f.' + fldName + '' + i );
		if (cb) {
			cb.checked = c;
			n2++;
		}
	}
	//if (c) {
	//	document.form.boxchecked.value = n2;
	//} else {
	//	document.form.boxchecked.value = 0;
	//}
}

function listItemTask( id, task ) {
    var f = document.form;
    cb = eval( 'f.' + id );
    if (cb) {
        for (i = 0; true; i++) {
            cbx = eval('f.cb'+i);
            if (!cbx) break;
            cbx.checked = false;
        } // for
        cb.checked = true;
        f.boxchecked.value = 1;
        submitForm(task);
    }
    return false;
}

function isChecked(isitchecked){
	if (isitchecked == true){
		document.form.boxchecked.value++;
	}
	else {
		document.form.boxchecked.value--;
	}
}
function isDisable(isitchecked, disabled){
	if (isitchecked == true){
		document.getElementById(disabled).disabled = false;
	}
	else {
		document.getElementById(disabled).disabled = true;
	}
}


function warningGone(){
	document.getElementById('errorImage').innerHTML = '';
	document.getElementById('errorMsg').innerHTML = '';
	document.getElementById('errorDisplayTable').className = '';

	document.getElementById('errorImage1').innerHTML = '';
	document.getElementById('errorMsg1').innerHTML = '';
	document.getElementById('errorDisplayTable1').className = '';
}

function httpRequestHandler(){
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
            var xmlhttp = new XMLHttpRequest();
            if (xmlhttp.overrideMimeType) {
                xmlhttp.overrideMimeType('text/xml');
                // See note below about this line
            }

    }else if (window.ActiveXObject) { // IE
         try {
                var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			  } catch (e) {
                  try {
                     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e){}
              }
   }

	return xmlhttp;
}

function updateEdit(component, task, section, id, table, field, value, defaultvalue) {


if(field == 'ic1' || field == 'ic2' || field == 'ic3'){
			field = 'ic';
}

//alert('component : ' + component + ' | task : ' +task+ ' | section : ' + section + ' | id : ' +id+ ' | table : ' +table+ ' | field : ' +field+' | value : '+value);
// Set up the request
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
            var xmlhttp = new XMLHttpRequest();
            if (xmlhttp.overrideMimeType) {
                xmlhttp.overrideMimeType('text/xml');
                // See note below about this line
            }

    }else if (window.ActiveXObject) { // IE
         try {
                var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			  } catch (e) {
                  try {
                     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e){}
              }
   }
	
	if(value != defaultvalue){
		if(field == 'email'){
			if(confirm("Changing email will change your login as well, do you want to continue?")){

				xmlhttp.open('POST', 'index2.php', true);
				// The callback function
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						if (xmlhttp.status == 200) {
							
							document.getElementById('errorImage').innerHTML = '<img src="images/icons/apply_f2.png" width="22" height="22">';
							document.getElementById('errorMsg').innerHTML = 'Saved';
							document.getElementById('errorDisplayTable').className = 'tableBorder1';

							document.getElementById('errorImage1').innerHTML = '<img src="images/icons/apply_f2.png" width="22" height="22">';
							document.getElementById('errorMsg1').innerHTML = 'Saved';
							document.getElementById('errorDisplayTable1').className = 'tableBorder1';

							document.getElementById('emailHidden').value = value;
							setTimeout("warningGone()", 1000);
						}
					}
				}

				// Send the POST request
				xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlhttp.send('target='+component+'&task='+task+'&section='+section+'&Itemid=' + id + '&table='+table+'&field='+field+'&value='+value);
			}else{
				document.getElementById('email').value = defaultvalue;
			}
		}else{
			xmlhttp.open('POST', 'index2.php', true);
				// The callback function
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						if (xmlhttp.status == 200) {
							
							document.getElementById('errorImage').innerHTML = '<img src="images/icons/apply_f2.png" width="22" height="22">';
							document.getElementById('errorMsg').innerHTML = 'Saved';
							document.getElementById('errorDisplayTable').className = 'tableBorder1';

							document.getElementById('errorImage1').innerHTML = '<img src="images/icons/apply_f2.png" width="22" height="22">';
							document.getElementById('errorMsg1').innerHTML = 'Saved';
							document.getElementById('errorDisplayTable1').className = 'tableBorder1';

							//document.getElementById(field+'Hidden').value = value;

							setTimeout("warningGone()", 1000);
						}
					}
				}

				// Send the POST request
				xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlhttp.send('target='+component+'&task='+task+'&section='+section+'&Itemid=' + id + '&table='+table+'&field='+field+'&value='+value);

		}
	}
}

//MultiSelector
function MultiSelector( list_target, max ){
	this.list_target = list_target;
	this.count = 0;
	this.id = 0;
	
	if( max ){
		this.max = max;
	} else {
		this.max = -1;
	};
	
	this.addElement = function( element ){
		if( element.tagName == 'INPUT' && element.type == 'file' ){
			element.name = 'file_' + this.id++;
			element.multi_selector = this;

			element.onchange = function(){
				var new_element = document.createElement( 'input' );
				new_element.type = 'file';
				this.parentNode.insertBefore( new_element, this );
				this.multi_selector.addElement( new_element );
				this.multi_selector.addListRow( this );
				this.style.position = 'absolute';
				this.style.left = '-1000px';
			};
			
			if( this.max != -1 && this.count >= this.max ){
				element.disabled = true;
			};
			
			this.count++;this.current_element = element;
		} else {
			alert( 'Error: not a file input element' );
		};
	};

	this.addListRow = function( element ){
		var new_row = document.createElement( 'div' );
		var new_row_button = document.createElement( 'input' );
		new_row_button.type = 'button';
		new_row_button.value = 'Delete';
		new_row.element = element;
		
		new_row_button.onclick= function(){
			this.parentNode.element.parentNode.removeChild( this.parentNode.element );
			this.parentNode.parentNode.removeChild( this.parentNode );
			this.parentNode.element.multi_selector.count--;
			this.parentNode.element.multi_selector.current_element.disabled = false;
			return false;
		};

		new_row.innerHTML = element.value;
		new_row.appendChild( new_row_button );
		this.list_target.appendChild( new_row );
	};
};

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];}
}
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 enterSubmit(e, limitstart, orderby, order) {
	var characterCode;
	if (e && e.which) {
		e = e;
		characterCode = e.which;
	} else {
		e = event;
		characterCode = e.keyCode;
	}	 
	if (characterCode == 13) {
		document.form.limitstart.value = limitstart;
		document.form.orderby.value = orderby;
		document.form.order.value = order;
		document.forms[0].submit();
	 	return false;
	}
	return true;
}

//used in JS TreeView Syllabus Only
function selectLeaf(title, page) {
	var url = window.location.href;
	if (url.indexOf("?") > -1) {
		var querystring = url.substr(url.indexOf("?")).toLowerCase();
		var params = querystring.split("&");
		var value = params[0].split("=");
		var target = value[1];
		//if the current page is syllabus, just reload the iframe
		if (target == "syllabus") {
			var path = window.frames['x'].location.href;
			var length = path.search("/[a-zA-Z0-9\._]*.(htm|php)") + 1;
			var path = path.substr(0, length);
			window.frames['x'].location = path+""+page;
		} else { //reload the whole page
			window.location = "index2.php?target=syllabus&page="+page;
		}
	}
}

