// funcUtil.js

function myParseDate( theDateString )
{
	
	return genParseDate(theDateString, "-");
}

function genParseDate( theDateString, splitter )
{
	 
	var dateArray = new Array();
	dateArray = theDateString.split(splitter);
	if (dateArray.length < 3) {
	   return null;
	}
	var day = parseInt(dateArray[2], 10);
	var mon = parseInt(dateArray[1], 10);
	var year = parseInt(dateArray[0], 10);
	if (isNaN(day) || mon == -1 || isNaN(year)) {	   
	   return null;
	} else {
	   var returnVal = new Date(year,mon-1,day);
	   //returnVal.setYear(year);
	   //returnVal.setMonth(mon);
	   //returnVal.setDate(day);			
	   return returnVal;
	}
}


function parseMonth( theDateString )
{
    var _theMonthString = theMonthString.toUpperCase();
	switch( _theMonthString )
	{
	case 'JAN':
		return 0;
		break;
	case 'FEB':
		return 1;
		break;
	case 'MAR':
		return 2;
		break;
	case 'APR':
		return 3;
		break;
	case 'MAY':
		return 4;
		break;
	case 'JUN':
		return 5;
		break;
	case 'JUL':
		return 6;
		break;
	case 'AUG':
		return 7;
		break;
	case 'SEP':
		return 8;
		break;
	case 'OCT':
		return 9;
		break;
	case 'NOV':
		return 10;
		break;
	case 'DEC':
		return 11;
		break;
	default:
		return -1;
		break;
	}
}	

// parsers YYYY-MM-DD
function myParseDateInter(theDateString){
	
	var dateArray = new Array();
	dateArray = theDateString.split('-');
	if (dateArray.length < 3) {
		returnVal = "bad";
	   return returnVal;
	}
	var year = parseInt(dateArray[0], 10);
	var mon = parseInt(dateArray[1], 10);
	var day = parseInt(dateArray[2], 10);
	if (isNaN(day) || mon == -1 || isNaN(year)) {	   
	   return null;
	} else {
	   var returnVal = new Date(year,mon-1,day);
	   return returnVal;
	}
}

function urlDecode(str) {
	return unescpae(str);
}

function urlEncode(str) {
	var x="";

	for (var i=0; i<str.length; i++) {
		var ch=str.charCodeAt(i);
		if ( (ch>=65 && ch <=90) || (ch>=97 && ch <=122) || (ch>=48 && ch<=57) ) {
			x+=str.charAt(i);
		} else {
			x+="%" + toHex(Math.floor(ch/16)) + toHex(ch%16);
		}
	}
	return x;
}

function toHex(num) {
	if (num<10) {
		return "" + num;
	} else if (num==10) {
		return "A";
	} else if (num==11) {
		return "B";
	} else if (num==12) {
		return "C";
	} else if (num==13) {
		return "D";
	} else if (num==14) {
		return "E";
	} else if (num==15) {
		return "F";
	} else {
		return "";
	}
	
}	
// pops up the window with the given href, url, name, width and height

function popUp(href, url, name, w,h) {
	 msgWindow=open('blankPage.html', name, "resizable=yes,scrollbars=yes,menubars=no,toolbars=no,location=no,width=" +w +",height="+ h );
     msgWindow.location.href = href;
     if (msgWindow.opener == null) msgWindow.opener = self;
     msgWindow.focus();
}	
function popUp2(href, url, name, w,h) {
	 msgWindow=open(url, name, "resizable=no,scrollbars=no,menubars=no,toolbars=no,location=no,resizable=no,width=" +w +",height="+ h );
     msgWindow.location.href = href;
     if (msgWindow.opener == null) msgWindow.opener = self;
     msgWindow.moveTo(350,350);
     msgWindow.focus();
}	
