<!--

var isNS4				=	(navigator.appName=='Netscape')? true:false;
var imgDefpath	=	"../images/_default/";	//	default images path

	function isIE()
	{
		return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	}

	function trim(str)
	{
		try{
			var len,loop,start=0,end;
			len=str.length;
			for(loop=0;loop<len;loop++)
			{
				if(str.charAt(loop)==" " || str.charAt(loop)==" ") 
					start=loop+1;
				else 
					break;
			}
			end=len;
			for(loop=len-1;loop>=0;loop--)
			{
				if(str.charAt(loop)==" " || str.charAt(loop)==" ") 
					end=loop;
				else 
					break;
			}
			if(start>len-1) 
				return "";
			else
			{
				if(end<0) 
					return "";
				else 
					return(str.substring(start,end));
			}
		} catch (e) {
			return (str);
		}
	}

	function ignoreSpaces(string) 
	{
		var temp = "";
		string = '' + string;
		splitstring = string.split(" ");
		for(i = 0; i < splitstring.length; i++)
		temp += splitstring[i];
		return temp;
	}

	function checkIllegalChar(string, Specials, strField)
	{
		
		// Specials SHOULD BE AN Array specified in the Main Page //
		// eg. var Specials = new Array(" ","=","\'",);			  //

		var strIllegalChar = '';
		var blnIllegalChar = false;
		
		for(var checkChar = 0; checkChar < Specials.length; checkChar++) {
			if (string.indexOf(Specials[checkChar], 0 ) != -1 ) {
				
				if (Specials[checkChar] == " ") {
					strIllegalChar +="(Blank Space)\n";
				} else {
					strIllegalChar +="\t\t\t"+Specials[checkChar]+"\n";
				}
				
				blnIllegalChar = true;
			}
		}
		
		if (blnIllegalChar != false) {
			alert('DegreeC - CMS:\n         Sorry, '+strField+' contain the following illegal character(s)\n\n'+strIllegalChar+'\n         Please Remove them, Thank you\!');
			return false;
		}
		
		return true;
		
	}
	
	function ValidateURL(string, strField) 
	{
		var v = new RegExp();
		v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
		if (!v.test(string)) {
			alert("DegreeC - CMS:\n         Please Enter a Valid "+strField+"\!\n         Thank you.");
			return false;
		}
		return true;
	} 

	function ValidateLogin(frm)
	{
		var uEmail			= frm['user_email'];
		var uPassword		= frm['user_password'];
	
		if (!uEmail.value) {
			alert("Please Enter `Your Email`\!");
			uEmail.focus();
			return false;	
		}
		
		if (((!/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/.test(trim(uEmail.value))))){
			alert("Please Enter a valid `Email`\!");
			uEmail.select();
			return false;
		}
	
		if (!uPassword.value) {
			alert("Please Enter `Your Password`\!");
			uPassword.focus();
			return false;	
		}
		
		return true;
	}

	function ValidateEmail(frm)
	{
		var uEmail			= frm['user_forgot_email'];
		
		if (!uEmail.value) {
			alert("Please Enter `Your Email`\!");
			uEmail.focus();
			return false;	
		}
		
		if (((!/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/.test(trim(uEmail.value))))){
			alert("Please Enter a valid `Email`\!");
			uEmail.select();
			return false;
		}
		
		return true;
	}

	function dateFormat(aDate, displayPat){
    /********************************************************
    *   Valid Masks:
    *   !mmmm = Long month (eg. January)
    *   !mmm = Short month (eg. Jan)
    *   !mm = Numeric date (eg. 07)
    *   !m = Numeric date (eg. 7)
    *   !dddd = Long day (eg. Monday)
    *   !ddd = Short day (eg. Mon)
    *   !dd = Numeric day (eg. 07)
    *   !d = Numeric day (eg. 7)
    *   !yyyy = Year (eg. 1999)
    *   !yy = Year (eg. 99)
   ********************************************************/

    intMonth 	= aDate.getMonth();
    intDate 	= aDate.getDate();
    intDay 		= aDate.getDay();
    intYear 	= aDate.getFullYear();

    var months_long 	=	new Array(
    															'January','February','March','April',
       														'May','June','July','August','September','October','November',
       														'December'
       														);
    var months_short 	= new Array(
    															'Jan','Feb','Mar','Apr','May','Jun',
       														'Jul','Aug','Sep','Oct','Nov','Dec'
       														);
    var days_long 		=	new Array(
    															'Sunday','Monday','Tuesday','Wednesday',
       														'Thursday','Friday','Saturday'
       														);
    var days_short 		=	new Array(
    															'Sun','Mon','Tue','Wed','Thu','Fri','Sat'
    															);

    var mmmm 		= months_long[intMonth];
    var mmm 		= months_short[intMonth];
    var mm 			= intMonth < 9?'0'+ (1 + intMonth) + '':(1+intMonth)+'';
    var m 			= 1+intMonth+'';
    var dddd 		= days_long[intDay];
    var ddd 		= days_short[intDay];
    var dd 			= intDate<10?'0'+intDate+'':intDate+'';
    var d 			= intDate+'';
    var yyyy 		= intYear;

    century 		= 0;
    
    while((intYear-century) >= 100){
        century = century + 100;
    }

    var yy = intYear - century;
    
    if(yy < 10){
        yy = '0' + yy + '';
    }

    displayDate = new String(displayPat);

    displayDate = displayDate.replace(/!mmmm/i,mmmm);
    displayDate = displayDate.replace(/!mmm/i,mmm);
    displayDate = displayDate.replace(/!mm/i,mm);
    displayDate = displayDate.replace(/!m/i,m);
    displayDate = displayDate.replace(/!dddd/i,dddd);
    displayDate = displayDate.replace(/!ddd/i,ddd);
    displayDate = displayDate.replace(/!dd/i,dd);
    displayDate = displayDate.replace(/!d/i,d);
    displayDate = displayDate.replace(/!yyyy/i,yyyy);
    displayDate = displayDate.replace(/!yy/i,yy);

    return displayDate;
	}
	
	function DateplusORminusDays(paramDate, paramOperation, noOfDays, format){
		format			=	(format	==	null)	?	'D-M-Y'	:	format	;
		var dt			=	getActualDate(paramDate, format);

		switch(paramOperation){
			case "ADD"	:
				var operator	=	'+';
				break;
			case "SUBTRACT"	:	
				var operator	=	'-';
				break;
			default	:
				var operator	=	'+';
				break;
		}

		dt.setDate(eval("dt.getDate()"+operator+"parseInt(noOfDays)"));
		return dt;
	}
	
	// function used to compare the given two dates in string format
	// and return true if from(start)-date is > to(end)-date
	// else false
	function CompareDates(fromDate, toDate, blnGreaterAndEqual, format){ 
		format		=	(format	==	null)	?	'D-M-Y'	:	format	;
	  var date1 = getActualDate(fromDate, format);
		var date2 = getActualDate(toDate, format);

	  if(blnGreaterAndEqual === true){
	  	if(date2 <= date1){
			  return false;
		  }
		  else{
		     return true;
		  }
	  }
	  else if(date2 < date1){
		  return false;
	  }
	  else{
	     return true;
	  }
	
	}
	
	// function used to return the date by parsing the
	// given stringDate in 'D-M-Y'('D/M/Y') format
	function getDateFromDMY(strDate){
		var dt   		= parseInt(strDate.substring(0,2),10);
	  var mon  		= parseInt(strDate.substring(3,5),10)-1;
	  var yr   		= parseInt(strDate.substring(6,10),10);
	  var newDate = new Date(yr, mon, dt);
	  
	  return newDate;
	}
	
	// function used to return the date by parsing the
	// given stringDate in 'M-D-Y'('M/D/Y') format
	function getDateFromMDY(strDate){
		var mon   	= parseInt(strDate.substring(0,2),10)-1;
	  var dt  		= parseInt(strDate.substring(3,5),10);
	  var yr   		= parseInt(strDate.substring(6,10),10);
	  var newDate = new Date(yr, mon, dt);

	  return newDate;
	}
	
	// function used to return the date by parsing the
	// given stringDate in 'Y-M-D'('Y/M/D') format
	function getDateFromYMD(strDate){
		var yr  		= parseInt(strDate.substring(0,4),10);
	  var mon  		= parseInt(strDate.substring(5,7),10)-1;
	  var dt   		= parseInt(strDate.substring(8,10),10);
	  var newDate = new Date(yr, mon, dt);
	  
	  return newDate;
	}

	// function used to get date in JS format by parsing
	// the input date(string) in different format
	function getActualDate(paramDate, format){
		format		=	(format	==	null)	?	'D-M-Y'	:	format	;
		
		switch(format){
	  	case	'D-M-Y'	:	
			  var dt = getDateFromDMY(paramDate);
			  break;
			case	'M-D-Y'	:
				var dt = getDateFromMDY(paramDate);
				break;
			case	'Y-M-D'	:
				var dt = getDateFromYMD(paramDate);
				break;
			default	:
				var dt = getDateFromDMY(paramDate);
				break;
	  }
	  return dt;
	}

	function allowAlpha(event)
	{
		var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

		if((key < 65 || (key > 90 && key < 97) || key > 122) && (key != 32 && key != 42 && key != 8 && key != 0 && key != 46))
			return false;
	}

	function allowInteger(event)
	{
		var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

		if( (key < 48 || (key > 57 && key < 96) || key > 105) && (key != 0 && key != 8 && key != 46) )
			return false;
	}

	function allowDecimal(event)
	{
		var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

		if( (key < 48 || (key > 57 && key < 96) || key > 105) && (key != 0 && key != 8 && key != 46 && key != 110 && key != 190) )
			return false;
	}

	function roundNumber(num, dec) 
	{
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
  }

	function removeArrayElement(rArray, rElement)
	{
		for(var i = 0; i < rArray.length; i++)
		{
			if(rArray[i] == rElement) rArray.splice(i, 1);
		}

		return rArray;
	}

	function parseToInteger(val)
	{
		return ( true == isNaN(parseInt(val)) )	?	0	:	parseInt(val);
	}

	function parseToFloat(val)
	{
		return ( true == isNaN(parseFloat(val)) )	?	0	:	parseFloat(val);
	}

	/*	[Start] SETTING UP OUR POPUP	*/
	var divPopupStatus			=	0;	//	0 means disabled; 1 means enabled;
	var loadingPopupStatus	=	0;	//	0 means disabled; 1 means enabled;
	var callBack						= '';
	var divPopupBackground	=	"#DIV_POPUP_BACKGROUND";
	var gDivPopup						=	'';	//	id of current popup;

	function LoadPopup(popupType, callBackFn)	//	loading popup with jQuery magic!
	{
		switch(popupType)
		{
			case 'loading':
				var divPopup				=	"DIV_GLOBAL_LOADING";
				divPopupBackground	=	"#DIV_GLOBAL_LOADING_BACKGROUND";
				break;
			default:
				var divPopup				=	"DIV_POPUP";
				divPopupBackground	=	"#DIV_POPUP_BACKGROUND";
				break;
		}
		callBack	=	callBackFn	?	callBackFn	:	null;

		gDivPopup	=	divPopup;

		try {
			if(0 == divPopupStatus || ('loading' == popupType && 0 == loadingPopupStatus)) {	//	loads popup only if it is disabled
				var popup		=	"#"+divPopup;
//				var opacity	=	('loading' == popupType)	?	"0.0"	:	"0.3";
//
//				$(divPopupBackground).css({ "opacity": opacity });
				$(divPopupBackground).fadeIn("slow");
				$(popup).fadeIn("slow");

				if('loading' == popupType) loadingPopupStatus	=	1;
				else divPopupStatus	=	1;
			}

			PositioningPopup(divPopup);

			document.body.onscroll	=	MovePopup;
			window.onscroll					=	MovePopup;
		} catch (e) {
			// do nothing --------------/
		}
	}

	function ClosePopup(popupType)	//	disabling popup with jQuery magic!
	{
		switch(popupType)
		{
			case 'loading':
				var divPopup				=	"DIV_GLOBAL_LOADING";
				divPopupBackground	=	"#DIV_GLOBAL_LOADING_BACKGROUND";
				break;
			default:
				var divPopup				=	"DIV_POPUP";
				divPopupBackground	=	"#DIV_POPUP_BACKGROUND";
				break;
		}

		try	{
			if(1 == divPopupStatus || ('loading' == popupType && 1 == loadingPopupStatus)) {	//	disables popup only if it is enabled
				var popup		=	"#"+divPopup;

				$(divPopupBackground).fadeOut("slow");
				$(popup).fadeOut("slow");

				if('loading' == popupType) loadingPopupStatus	=	0;
				else divPopupStatus	=	0;
				if (callBack) eval(callBack);
			}

		} catch (e) {
			// do nothing --------------/
		}
	}

	function PositioningPopup(divPopup)	//	centering popup
	{
		var popup					=	"#"+divPopup;
		var windowWidth		=	document.documentElement.clientWidth;		//	request data for centering
		var windowHeight	=	document.documentElement.clientHeight;	//	request data for centering
		var popupHeight		=	$(popup).height();
		var popupWidth		=	$(popup).width();

//		popupWidth = 500;

		if(popupHeight < 1) {
			var top = 300;
		} else {
			var top = windowHeight/2-popupHeight/2;
		}

		if (window.pageYOffset)
			var sTop = window.pageYOffset;
		else
			var sTop =(document.body.parentElement) ? document.body.parentElement.scrollTop : 0;

		top	= top+sTop;

		$(popup).css({	//centering
			"position": "absolute",
			"top": top,
			"left": windowWidth/2-popupWidth/2
		});
		//only need force for IE6

		$("#divPopupBackground").css({
			"height": windowHeight
		});
	}

	function MovePopup()
	{
//		if(1 == divPopupStatus)	//	move popup only if it is enabled
//			PositioningPopup(gDivPopup);
	}
	/*	[End] SETTING UP OUR POPUP	*/

	function ShowLoading(loadingType)
	{
		switch(loadingType)
		{
			case 'formsubmit':	//	showing loading icon in a popup styled background
													//	so that the other objects / options in the document can not be accessed
				LoadPopup('loading', '');
				break;
			default:						//	default ajax styled loading icon is returned back
													//	so that it can be used in corresponding place in the document
				return '<img src="'+imgDefpath+'loading.gif" border="0" />';
				break;
		}
	}

	function HideLoading()
	{
		ClosePopup('loading');
	}
	
	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];}
	}

//-->
