var docElementName;
var sortBy;
var sortByShow;
function retrieveURL(url,docElementId) { 
	sortBy=getParamValueInURL(url,'sortBy');
 	sortByShow=getParamValueInURL(url,'sortByShow');
	docElementName=docElementId;   
    req=getXmlHttpRequest(); 
    
    if(docElementName!='' && (docElementName=='instructor_contnet_lazyload' || docElementName=='student_contnet_lazyload')){
   		 lazyDivState();
    }else{
    	divState();
    }
    
    url = createParameter(url,"isAjax","true");
    if(req) {
		try {
			req.onreadystatechange = documentProcessStateChange;
			req.open("GET", url, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send(null);
		}
		catch (e) {
			alert(e);
		}
	}   
}
function documentProcessStateChange() {
	if (req.readyState == 4) {
		  if(docElementName!='' && (docElementName=='instructor_contnet_lazyload' || docElementName=='student_contnet_lazyload')){
   		 lazyDivState();
	    }else{
	    	divState();
	    }
    	if(req.responseText.match("Your product session has expired")){
			return;
		}
		if (req.status == 200) { // OK response                  
			document.getElementById(docElementName).innerHTML = req.responseText;  
			req = null;
		} else {        
			alert("Problem: " + req.statusText);
		}
	}
}

function getXmlHttpRequest() {
	var xmlHttpReq = false;
    if (window.XMLHttpRequest) {
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
      		xmlHttpReq = new ActiveXObject("MSXML2.XMLHttp");
	    } catch (ex) {
			try{
		    	xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
       		}catch (execp){
	    	}
    	}
	}
	return xmlHttpReq;
}
function getParamValueInURL(url, paramName){
	paramName = paramName + "=";
	var startIndex = url.indexOf(paramName) + paramName.length;
	var endIndex = url.indexOf("&", startIndex);
	if(endIndex == -1)
		endIndex=url.length;
	var paramValue = url.substring(startIndex, endIndex);
	return paramValue;

}
function createParameter(params, paramName, paramValue) {
	var appender = "";
	if(isValidObject(params) && params != "") {
		appender = params + "&";
	}
	return appender + paramName + "=" + paramValue;
}
function isNumeric(numberString){
	if (numberString.length == 0 || isNaN(numberString) ) return false;
	//just to make sure only numeric terms were entered.
	var numericPattern = "^[0-9]+$";
	var numericExp = new RegExp(numericPattern);
	return numericExp.test(numberString);
}
function isValidObject(obj) {
	return (obj == null || obj == undefined ? false : true);
}
function divState() {  
	el = document.getElementById("overlay");			
	if(el.style.visibility == "visible"){ 
		el.style.visibility = "hidden";
	} else { 
		el.style.visibility = "visible";
	}
}

function lazyDivState() {  
	el = document.getElementById("overlay_lazyLoad");			
	if(el.style.visibility == "visible"){ 
		el.style.visibility = "hidden";
	} else { 
		el.style.visibility = "visible";
	}
}
