
/**
 *
 * several utility functions to extract, and create query params strings
 *
 */
function getQueryParams( str )
{
    var ret = [];
    if ( str.indexOf("?") == -1 ) { 
	    return ret;
    }
    str = str.substr( str.indexOf("?")+1);
	var params = str.split("&");
	var pair;
	for ( var i=0;i<params.length;i++ ) {
		pair = params[i].split("=");
		ret[pair[0]] = pair[1];
	}
    return ret;
}

function updateQueryParams( loc, obj ) 
{
	var params = getQueryParams(loc);
	for ( var key in obj ) {
		params[key] = obj[key];
	}
	var str = createQueryString( params );
    if ( loc.indexOf("?") >= 0 ) {
	    loc = loc.substr( 0,loc.indexOf("?"));
    }
	return loc + str;
}

function createQueryString( params ) 
{
	var str = "";
	var pairs = [];
	for ( var key in params ) {
		pairs.push(  key+"="+escape(params[key]) );
	}
	str = "?"+pairs.join("&");
	return str;
}

/**
 *
 */
function formatDate( d, showTime, type ) 
{
	var date = new Date();
	date.setTime( d );
	var months = ["January","February","March", "April","May","June","July","August","September","October","November","December"];
		
	var dateStr = (months[date.getMonth()]) + " " + date.getDate() + ", " + date.getFullYear();
	var hours = (date.getHours()+1);
	if ( showTime ) {
		var ampm = "a.m.";
		if ( hours >= 12 ) {
			ampm = "p.m.";
			if ( hours > 12 ) {
				hours -= 12;
			}
		}		
		var minutes = date.getMinutes();
		if ( minutes < 10 ) minutes = "0" + minutes;
		dateStr += " " + hours + ":" + minutes + ampm;
	}

	return dateStr;
}

function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   //var address = document.forms[form_id].elements[email].value;
   if(reg.test(email) == false) {
      return false;
   }
   else
	  return true;
}