
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];}
}

	
function filePopUp(theURL)
{
	var myNewXpos = screen.width/2-(450/2);
	var myNewYpos = screen.height/2-(120/2);
	var upl = window.open(theURL,"Uploader","left=" + myNewXpos + ",top=" + myNewYpos + ",width=450,height=120");
	upl.focus();
}

function isInteger(val){
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
	}
	return true;
}

function isDigit(c) {
   return ((c >= "0") && (c <= "9"))
}

function getDateObject(dateString,dateSeperator)
{
	//This function return a date object after accepting 
	//a date string ans dateseparator as arguments
	var curValue=dateString;
	var sepChar=dateSeperator;
	var curPos=0;
	var cDate,cMonth,cYear;

	//extract day portion
	curPos=dateString.indexOf(sepChar);
	cDate=dateString.substring(0,curPos);
	
	//extract month portion				
	endPos=dateString.indexOf(sepChar,curPos+1);		
	cMonth=dateString.substring(curPos+1,endPos);

	//extract year portion				
	curPos=endPos;
	endPos=curPos+5;			
	cYear=curValue.substring(curPos+1,endPos);
	
	//Create Date Object
	dtObject=new Date(cYear,cMonth,cDate);	
	return dtObject;
}	


//Layer function

function displ(id) 
{
	//find img tag
	var imgTag = document.getElementById("imgTag");
	var arrCoord = findPos(imgTag);

	var tempX = arrCoord[0];
	var tempY = arrCoord[1];
	var offsetX = 180;
	var offsetY = 40;
	var layer = document.getElementById(id);
	
 
	layer.style.top  = (tempY + offsetY) + 'px';
	layer.style.left = (tempX + offsetX) + 'px';


	layer.style.display = 'block';
	layer.style.visibility = 'visible';

}

function findPos(start_obg) 
{
	var curleft = curtop = 0;
	
	for (obj = start_obg; obj != null; obj = obj.offsetParent)
	{
		curleft += obj.offsetLeft;
		curtop += obj.offsetTop;
	}

	return [curleft,curtop];
}

function hide(id) 
{
	var layer = document.getElementById(id);
	layer.style.display = 'none';
	layer.style.visibility = 'hidden';
}

/////////////////

function echeck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)
	{
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1)
	 {
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	 {
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1)
	 {
	    return false;
	 }
	
	 if (str.indexOf(" ")!=-1)
	 {
	    return false;
	 }
	 return true;					
}
function displError(msg)
{
	var errBox = document.getElementById("errBox");
	errBox.innerHTML = "<br>" + msg;
}

function check()
{
	var f = document.forms.f1;
	if (f.keyword.value.length < 1) displError("Keyword must be at least 1 character.");
	else f.submit();
}

/*	FUNCTION BLOCKCHARS	*/
/*	Usage -> blockChars(Checking String, Blocking Character List, integer [Optional])	*/
function blockChars(string, para) 
{
	var validchars = para;
	var parsed = true;
	for (var i=0; i < string.length; i++) 
	{
		var letter = string.charAt(i);
		if (validchars.indexOf(letter) == -1)
			continue;
		if (blockChars.arguments.length==3)
		{
			if (blockChars.arguments[2] == 0)
			{
				displError(letter + " is not allowed.");
			}
		}
		else
		{
			displError(letter + " is not allowed.");
		}
		parsed = false;
		break;
	}
	return parsed;
}

function allowSkuChars(string) 
{
	var parsed = true;
	var blockCharacters = "~`!#$%^&*()+=|\\{[}]:;\"'<,>?/- ";
	parsed = blockChars(string, blockCharacters,1);
	if (parsed==false)
	{
		if ((allowSkuChars.arguments.length==1) || (allowSkuChars.arguments.length==2 && allowSkuChars.arguments[1] == 0))
		{
			displError("Invalid Character(s) Used!!! Allowed Characters: @ . [A-Z], [a-z], [0-9], _");
		}
	}
	return parsed;
}

function allowSkuChars1(string) 
{
	var parsed = true;
	var blockCharacters = "~`!#$%^&*()+=|\\{[}]:;\"'<,>?/@.-";
	parsed = blockChars(string, blockCharacters,1);
	if (parsed==false){
		if ((allowSkuChars1.arguments.length==1) || (allowSkuChars1.arguments.length==2 && allowSkuChars1.arguments[1] == 0))
		{
			displError("Invalid Character(s) Used!!! Allowed Characters: _ [A-Z] [a-z] [0-9]");
		}
	}
	return parsed;
}
function allowSkuChars2(string) 
{
	var parsed = true;
	var blockCharacters = "~`!#$%^&*()+=|\\{[}]:;\"'<,>?/@.- ";
	parsed = blockChars(string, blockCharacters,1);
	if (parsed==false)
	{
		if ((allowSkuChars2.arguments.length==1) || (allowSkuChars2.arguments.length==2 && allowSkuChars2.arguments[1] == 0))
		{
			displError("Invalid Character(s) Used!!! Allowed Characters: _ [A-Z] [a-z] [0-9]");
		}
	}
	return parsed;
}

/////////////////////////////////
///////AJAX////////////////////
var req;

function loadData(parameters)
{

	var url = "reports_ext.asp";
	
	req = null;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest)
	{
    	try
		{
			req = new XMLHttpRequest();
			//alert("Native object");
        } 
		catch(e)
		{
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } 
	else if(window.ActiveXObject)
	   	   {
       		    try
				{
        			req = new ActiveXObject("Msxml2.XMLHTTP");
					//alert("Msxml2.XMLHTTP");
      			}
				catch(e) 
				{
        			try
					{
          				req = new ActiveXObject("Microsoft.XMLHTTP");
						//alert("Microsoft.XMLHTTP");
        			} 
					catch(e)
					{
          				req = false;
        			}
				}
    		}
	if(req) 
	{
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	req.setRequestHeader("Content-length", parameters.length);
      	req.setRequestHeader("Connection", "close");
      	req.send(parameters);
		
	}
	else alert("XMLHTTP object can not be created!");
}

function processReqChange()
{
	if (req.readyState == 1) //loading
	{
		DisableEnableLinks(true);
		document.getElementById("mem_list").disabled = true;
		document.getElementById("Submit").disabled = true;
		document.getElementById("course_list").disabled = true;
		//if(document.getElementById("excel_ahref")) document.getElementById("excel_ahref").innerHTML = "<b>Export to Excel</b> <img src=\"images/excel_icon.gif\" border=\"0\">"; 
		
		//display loader
		var objTag = document.getElementById("objTag");
		var coord = findPos(objTag);
		displ("loader", coord);	
	}

    // only if req shows "loaded"
    if (req.readyState == 4)
	{
        // only if "OK"
        if (req.status == 200)
		{
			//var exd = new Date();
			//exd.toGMTString();
			//alert(exd);
			document.close();
			document.write(req.responseText);
		}
		else
		{	
			DisableEnableLinks(false);
			document.getElementById("mem_list").disabled = false;
			document.getElementById("Submit").disabled = false;
			document.getElementById("course_list").disabled = false;
            hide("loader");
            alert("There was a problem retrieving the data:\n" + req.statusText);
			
        }
    }
	
}

function DisableEnableLinks(xHow){
  objLinks = document.links;
  for(i=0;i<objLinks.length;i++){
    objLinks[i].disabled = xHow;
	//link with onclick
   /* if(objLinks[i].onclick && xHow){ 
        objLinks[i].onclick = new Function("return false;" + objLinks[i].onclick.toString().getFuncBody());
    }*/
    //link without onclick
    if(xHow){  
      objLinks[i].onclick = function(){return false;}
    }
    //remove return false with link without onclick
    else if(!xHow && objLinks[i].onclick.toString().indexOf("function(){return false;}") != -1){            
      objLinks[i].onclick = null;
    }
    //remove return false link with onclick
    /*else if(!xHow && objLinks[i].onclick.toString().indexOf("return false;") != -1){  
      strClick = objLinks[i].onclick.toString().getFuncBody().replace("return false;","")
      objLinks[i].onclick = new Function(strClick);
    }*/
  }
}

String.prototype.getFuncBody = function(){ 
  var str=this.toString(); 
  str=str.replace(/[^{]+{/,"");
  str=str.substring(0,str.length-1);   
  str = str.replace(/\n/gi,"");
  if(!str.match(/\(.*\)/gi))str += ")";
  return str; 
} 
///////////////////////////////

function searchByType(type_id)
{
	var f = document.forms.f1;

	if(type_id != 0)
	{
		f.submit();
	}	
}

function resizeFrame(f) 
{	
	f.style.height = f.contentWindow.document.body.scrollHeight + "px";
}

function alltrim(para){
var word, temp, chr, flag;

word = para;
word = rtrim(ltrim(word))
return word;
}


/*	FUNCTION LTRIM 		*/
/*	Usage -> ltrim(string)	*/
function ltrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=0;i<word.length;i++){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = temp + chr;
		}
	}
	word = temp;
}
return word;
}


/*	FUNCTION RTRIM 		*/
/*	Usage -> rtrim(string)	*/
function rtrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=word.length - 1;i>=0;i--){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = chr + temp;
		}
	}
	word = temp;
}
return word;
}

