function get_students(js_method, v, ob, dir){
	//alert("method name in sonhoz.js = " + js_method);
	js_method(v, ob, dir);
}

function hidediv(div_ref) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(div_ref).style.visibility = 'hidden';
	}
	else {
		if (document.layers) { // Netscape 4
		document.div_ref.visibility = 'hidden';
		}
		else { // IE 4
			document.all.div_ref.style.visibility = 'hidden';
		}
	}
}

function showdiv(div_ref) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(div_ref).style.visibility = 'visible';
	}
	else {
		if (document.layers) { // Netscape 4
		document.div_ref.visibility = 'visible';
		}
		else { // IE 4
			document.all.div_ref.style.visibility = 'visible';
		}
	}
} 

function display_div(div_ref) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(div_ref).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
		document.div_ref.display = 'block';
		}
		else { // IE 4
			document.all.div_ref.style.display = 'block';
		}
	}
}

function display_div_none(div_ref) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(div_ref).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
		document.div_ref.display = 'none';
		}
		else { // IE 4
			document.all.div_ref.style.display = 'none';
		}
	}
} 

function show_content(s, t) {
	try {
		//document.getElementById(t).innerHTML = document.getElementById(s).innerHTML; 	
		show_sonhoz_pop_dialog_wh_text_no_url(document.getElementById(s).innerHTML,"","800px","500px");
		
	}catch(e){
		
	}
}

var wait_panel;function hide_wait_pannel(){wait_panel.hide();}function show_wait_pannel(msg){if(msg==''){msg='Loading, please wait...';}wait_panel=new YAHOO.widget.Panel("wait_panel",{width:"240px",fixedcenter:true,close:false,draggable:false,zindex:4,modal:true,visible:false});wait_panel.setHeader(msg);wait_panel.setBody('<img src="http://us.i1.yimg.com/us.yimg.com/i/us/per/gr/gp/rel_interstitial_loading.gif"/>');wait_panel.render(document.body);wait_panel.show();}


var dialog1a;

function show_sonhoz_pop_dialog(url, header) {
	show_sonhoz_pop_dialog_wh(url, header, '800px','500px');
}
function show_sonhoz_pop_dialog_wh(url, header, width_in, height_in) {
	if(width_in > (YAHOO.util.Dom.getViewportWidth()-100)){width_in=YAHOO.util.Dom.getViewportWidth()-100;}
  if(height_in > (YAHOO.util.Dom.getViewportHeight()-100)) {height_in=YAHOO.util.Dom.getViewportHeight()-100;}
  
  dialog1a = new YAHOO.widget.Dialog("sonhoz_pop_dialog", 
              { width : width_in,
height : height_in,              
                fixedcenter : true,
                visible : false, 
                constraintoviewport : false,
                modal : true,
                autofillheight : false,
                draggable: true,
                close: true,
                autofillheight:false,
                effect:{effect:YAHOO.widget.ContainerEffect.SLIDE,duration:0.25} 
              });

    dialog1a.setHeader(header);
    var frame = document.createElement('iframe');
    frame.src = url;
    frame.width = "100%";
    frame.height = height_in;
    
    dialog1a.setBody(frame);
     
  if(dialog1a.render(document.body)) {
  }
dialog1a.show();

}

function show_sonhoz_pop_dialog_wh_text_no_url(text, header, width_in, height_in) {
	if(width_in > (YAHOO.util.Dom.getViewportWidth()-100)){width_in=YAHOO.util.Dom.getViewportWidth()-100;}
	  if(height_in > (YAHOO.util.Dom.getViewportHeight()-100)) {height_in=YAHOO.util.Dom.getViewportHeight()-100;}

	  dialog1a = new YAHOO.widget.Dialog("sonhoz_pop_dialog", 
	              { width : width_in,
	height : height_in,              
	                fixedcenter : true,
	                visible : false, 
	                constraintoviewport : true,
	                modal : true,
	                autofillheight : false,
	                draggable: true,
	                close: true,
	                autofillheight:false,
	                effect:{effect:YAHOO.widget.ContainerEffect.SLIDE,duration:0.25} 
	              });

	    dialog1a.setHeader(header);
	    dialog1a.setBody(text);
	     
	  if(dialog1a.render(document.body)) {
	  }
	dialog1a.show();

	}

function hide_sonhoz_pop_dialog() {
dialog1a.hide();
}



var handleSuccess_ajax_res = function(o){
  if(o.responseText !== undefined){
    var div = o.argument.c_q_div;
    div.innerHTML = o.responseText;
    YAHOO.util.Dom.addClass(div, "ajax_res");
       } else {
   alert("Unknown Error");
  }
  hide_wait_pannel();
}

var handleSuccess = function(o){
  if(o.responseText !== undefined){
		  var div = o.argument.c_q_div;
		  div.innerHTML = o.responseText;
  } else {
		alert("Unknown Error");
  }
  hide_wait_pannel();
}


var handleSuccess_append = function(o){
	  if(o.responseText !== undefined){
			  var div = o.argument.c_q_div;
			  div.innerHTML = div.innerHTML + o.responseText;
	  } else {
			alert("Unknown Error");
	  }
	  hide_wait_pannel();
	}


var handleSuccess_multi = function(o){
	  if(o.responseText !== undefined){
		  
			  var divs = o.argument.c_q_div;
			  for(var i=0; i<divs.length; i++){
				  var x = document.getElementById(divs[i]);
				  var y = x.parentNode;
				  if(y.nodeName.toLowerCase() == 'tr'){
					  y.parentNode.removeChild(y);
				  } else {
					  x.innerHTML = o.responseText;
				  }
				  //alert("document.getElementById(divs[i].innerHTML)= " + document.getElementById(divs[i]).innerHTML);
			  } 
	  } else {
			alert("Unknown Error");
	  }
	  hide_wait_pannel();
	}


var handleFailure = function(o){
  if(o.responseText !== undefined){
    var div = o.argument.c_q_div;
    alert(o.responseText);
      }
  hide_wait_pannel();
}

var handleSuccess_insert_before = function(o){
	if(o.responseText !== undefined){
	    var div = o.argument.c_q_div;
	    var fc = YAHOO.util.Dom.getFirstChild(div);
			  newDiv = document.createElement("p");
			  YAHOO.util.Dom.addClass(newDiv, "img_th_uploaded");			  
		  newDiv.innerHTML = o.responseText;
		  
		  var imgArr = YAHOO.util.Dom.getElementsByClassName("img_th","img", fc)
		  if(imgArr.length>0){
			  YAHOO.util.Dom.insertBefore(newDiv , imgArr[0]);
			  imgArr[imgArr.length-1].visibility = "hidden";
		  }
		  else {
			  YAHOO.util.Dom.insertBefore(newDiv , fc);			  
		  }
		  


	       } else {
	   alert("Unknown Error");
	  }
	  hide_wait_pannel();
	}


function sonhoz_ajax_call_ajax_res(sUrl, q_id, msg){
      show_wait_pannel(msg);
  var q_div = document.getElementById(q_id);
  var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, {success:handleSuccess_ajax_res, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
  hidediv("msg_d");
  return false;
}


function sonhoz_ajax_call(sUrl, q_id, msg){
   show_wait_pannel(msg);
  var q_div = document.getElementById(q_id);
  var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, {success:handleSuccess, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
  hidediv("msg_d");
  return false;
}

function sonhoz_ajax_call_append(sUrl, q_id, msg){
	   show_wait_pannel(msg);
	  var q_div = document.getElementById(q_id);
	  var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, {success:handleSuccess_append, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
	  hidediv("msg_d");
	  return false;
	}


function sonhoz_ajax_call_post_multi(sUrl, q_id, msg, formObject){
	   show_wait_pannel(msg);
	  var q_div = q_id;
	YAHOO.util.Connect.setForm(formObject);
	  var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, {success:handleSuccess_multi, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
	  hidediv("msg_d");
	  return false;
	}


function sonhoz_ajax_call_post(sUrl, q_id, msg, formObject){
   show_wait_pannel(msg);
  var q_div = document.getElementById(q_id);
YAHOO.util.Connect.setForm(formObject);
  var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, {success:handleSuccess, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
  hidediv("msg_d");
  return false;
}
	 
function sonhoz_ajax_call_post_upload(sUrl, q_id, msg, formObject){
	   show_wait_pannel(msg);
//		  alert("q_id " + q_id);
	  var q_div = document.getElementById(q_id);
	//  alert("q_div " + q_div);
	
	  
	  YAHOO.util.Connect.setForm(formObject, true); //true means file upload
	  var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, {upload:handleSuccess_insert_before,success:handleSuccess_insert_before, failure:handleFailure, argument: { c_q_div:q_div, c_q_id:q_id } } );
	  hidediv("msg_d");
	  return false;
	}


function get_auto_c_data(url, auto_on, data_to, should_cache_entries, allow_browser_autocomplete  ) {
    // Use an XHRDataSource
   alert("url =" + url);
/*     alert("auto_on =" + auto_on);
    alert("data_to =" + data_to);
alert("document.tform.country.value = " +document.tform.country.value);
*/
    var oDS = new YAHOO.util.XHRDataSource(url);
    // Set the responseType
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
    // Define the schema of the delimited results
    oDS.responseSchema = {
        recordDelim: "\n",
        fieldDelim: "\t"
    };
    // Enable caching
//if(should_cache_entries){oDS.maxCacheEntries = 5;}
    // Instantiate the AutoComplete
    var oAC = new YAHOO.widget.AutoComplete(auto_on, data_to, oDS);
    oAC.queryQuestionMark = false;
    oAC.allowBrowserAutocomplete = allow_browser_autocomplete;
    oAC.typeAhead=true;
    return {
        oDS: oDS,
        oAC: oAC
    };
}


	 
function sonhoz_tooltip(ctx_id, txt){
  if(txt==''){ 
    	var tt1 = new YAHOO.widget.Tooltip("tt1", { context:ctx_id, showdelay:200, hidedelay:250, autodismissdelay:60000});
  } 
  else {
  	var tt1 = new YAHOO.widget.Tooltip("tt1", { context:ctx_id, text:"<p style='text-align:left'>"+txt+"</p>", showdelay:200, hidedelay:250, autodismissdelay:60000});
  }
}

	function sonhoz_tooltip_ctx_grp(ctx_grp, txt){
	var ttB = new YAHOO.widget.Tooltip("ttB", { 
			context:ctx_grp , showdelay:200, hidedelay:250, autodismissdelay:60000
		});

		// Stop the tooltip from being displayed for link B3.
		ttB.contextMouseOverEvent.subscribe(
			function(type, args) {
				var context = args[0];
				if (context && context.id == "B3") {
					return false;
				} else {
					return true;
				}	
			}
		);

		// Set the text for the tooltip just before we display it.
		ttB.contextTriggerEvent.subscribe(
			function(type, args) {
				var context = args[0];
				this.cfg.setProperty("text", "<p style='text-align:left'>" + txt + "<p>");
			}
		);
		}

YAHOO.widget.Chart.SWFURL = "http://yui.yahooapis.com/2.7.0/build/charts/assets/charts.swf"; 		
function pie_chart(xhr_ds, df, cf, container_id){
	xhr_ds.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
	var mychart = new YAHOO.widget.PieChart(container_id, xhr_ds,
	{
		dataField: df,
		categoryField: cf,
		wmode: "opaque",
		style:
		{
			padding: 20,
			legend:
			{
				display: "right",
				padding: 10,
				spacing: 5,
				font:
				{
					family: "Arial",
					size: 13
				}
			}
		},
		//only needed for flash player express install
		expressInstall: "http://yui.yahooapis.com/2.7.0/build//charts/assets/expressinstall.swf"
	});
}

function column_chart(xhr_ds, xf, seriesDef, container_id){
	xhr_ds.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
		var mychart = new YAHOO.widget.ColumnChart( container_id, xhr_ds,
	{
		series: seriesDef,
		xField: xf,
		wmode: "opaque",
		style:
		{
			border: {color: 0x96acb4, size: 2},
			font: {name: "Arial Black", size: 14, color: 0x586b71},
			legend:
			{
				display: "top",
				padding: 10,
				spacing: 5,
				font:
				{
					family: "Arial",
					size: 13
				}
			},			
			dataTip:
			{
				border: {color: 0x2e434d, size: 1},
				font: {name: "Arial Black", size: 13, color: 0x586b71}
			},
			xAxis:
			{
				color: 0x2e434d
			},
			yAxis:
			{
				color: 0x2e434d,
				majorTicks: {color: 0x2e434d, length: 4},
				minorTicks: {color: 0x2e434d, length: 2},
				majorGridLines: {size: 0}
			}
		},
		//only needed for flash player express install
		expressInstall: "http://yui.yahooapis.com/2.7.0/build//charts/assets/expressinstall.swf"
	});
}		

function addRowStyle(){
if(document.getElementsByTagName) {
		(function() {
			var className = 'hovered',
			pattern = new RegExp('(^|\\s+)' + className + '(\\s+|$)'),
			rows = document.getElementsByTagName('tr');
			for(var i = 0, n = rows.length; i < n; ++i) {
				rows[i].onmouseover = function() {
				this.className = className + ' ' +this.className;
			};
			rows[i].onmouseout = function() {
			this.className = this.className.replace(pattern, ' ');
		};
	}
		rows = null;
		})();
	}
}
//YAHOO.util.Event.onDOMReady(addRowStyle);


function hideRows(keyword, parent, tag) {
	//alert("parent = " + keyword);
	table = document.getElementById(parent);
	//alert("table = " + table);
	rows = table.getElementsByTagName(tag);
	//alert("rows = " + rows);
	//alert("rows length= " + rows.length);
	index = 0;
	for (var i=0; i<rows.length;i++) {
//		alert("rows[x].id =" +rows[i].id);
	//	alert("rows[i].innerHTML =" +rows[i].innerHTML);
		
		if (typeof(rows[i].innerHTML) != "undefined" && rows[i].innerHTML.toLowerCase().indexOf(keyword.toLowerCase()) == -1) {
			rows[i].style.display = "none";
		} else {
			try{
				rows[i].style.display = "table-row";//IE does not support this
			}catch(ex){
				rows[i].style.display = "block";
			}
		}
	}
}

function hideTabless(keyword, parent, tag) {
	//alert("parent = " + keyword);
	table = document.getElementById(parent);
	//alert("table = " + table);
	rows = table.getElementsByTagName(tag);
	//alert("rows = " + rows);
	//alert("rows length= " + rows.length);
	index = 0;
	for (var i=0; i<rows.length;i++) {
//		alert("rows[x].id =" +rows[i].id);
	//	alert("rows[i].innerHTML =" +rows[i].innerHTML);
		
		if (typeof(rows[i].innerHTML) != "undefined" && rows[i].innerHTML.toLowerCase().indexOf(keyword.toLowerCase()) == -1) {
			rows[i].style.display = "none";
		} else {
			try{
				rows[i].style.display = "table";//IE does not support this
			}catch(ex){
				rows[i].style.display = "block";
			}
		}
	}
}

function sonhoz_link_button(id_in, container_id_in, label_in, href_in) {
	
    var oButton = new YAHOO.widget.Button({ type:"link", href : href_in,
        id: id_in, 
        label: label_in, 
        container: container_id_in });


/*
Begin animating the Button instance's background color once it is 
appended to its containing element.
*/

oButton.on("appendTo", function () {

/*
Apply a special CSS class to be able to target IE 6 
specifically in the CSS.
*/

if (YAHOO.env.ua.ie == 6) {

oButton.addClass("ie6");

}


// Create a new ColorAnim instance

var oButtonAnim = new YAHOO.util.ColorAnim(id_in, { backgroundColor: { to: "#b1ddff" } });


/*
Restart the color animation each time the target color has 
been applied.
*/ 

oButtonAnim.onComplete.subscribe(function () {

this.attributes.backgroundColor.to = (this.attributes.backgroundColor.to == "#b1ddff") ? "#016bbd" : "#b1ddff";

this.animate();

});

oButtonAnim.animate();

});

}

//function hideRows(keyword, parent, tag) {
//	table = document.getElementById(parent);
//	rows = table.getElementsByTagName(tag);
//	index = 0;
//	for (x in rows) {
//		rows[x].id = "row_" + index;
//		++index;
//		cells = rows[x].getElementsByTagName("TD");
//		
//		found = false;
//		for (y in cells) {
//			if (typeof(cells[y].innerHTML) != "undefined" && cells[y].innerHTML.indexOf(keyword) != -1) {
//				found = true;
//			} else {}
//		}
//		
//		if (found === true) {
//			rows[x].style.display = "none";
//		} else {}
//	}
//}

function trim_text_area_value(tr){
	var txta = YAHOO.util.Event.getTarget(tr, false);
	//alert("tr = " + txta.value);
	//alert("tr.value = " + tr.value);
	txta.value= txta.value.replace(/^\s*/, "").replace(/\s*$/, "");
}

function trim_text_area_value_reg_event() {
	
	var txtas = document.getElementsByTagName("textarea");
	
	for(var i= 0; i< txtas.length; i++){
		var f =YAHOO.util.Event.addFocusListener(txtas[i],trim_text_area_value,txtas[i],false );
		var b = YAHOO.util.Event.addBlurListener (txtas[i],trim_text_area_value,txtas[i],false );
		//alert("f =" +f +" , b = "+b);
	}
 }
 YAHOO.util.Event.onDOMReady(trim_text_area_value_reg_event);


