// Set Defaults for all datepickers
jQuery(function($) {
	var dpToday = new Date();
	jQuery.datepicker.setDefaults({
		dateFormat: 'mm/dd/yy'
		,showOn: 'button'
		,buttonImage: '/images/calendar.gif'
		,buttonImageOnly: true
		//,closeText: "<img src='/images/close.gif' alt='close' style='margin-top:2px;' />"
		,speed: ''
		,hideIfNoPrevNext: true
		,changeMonth: true
		,changeYear: true
		,yearRange: String(dpToday.getFullYear() - 80) + ':' + String(dpToday.getFullYear() + 5)
		,showStatus: true		
		,changeFirstDay: false
		,dayStatus: '' 
		,nextText: ''
	});
});

function get(e)
{
	var elems = window.location.toString().split("/");
	for( var i = 0; i < elems.length; i++)
	{
		if(elems[i] = e) return elems[i + 1];
	}
}

/*----- Cookie Functions -------------*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
/*----- END Cookie Functions -------------*/

function setDefaultEnterButton(btnEnter, txtInput)
{
	var enterButton = jQuery(btnEnter);
	var textInput = jQuery(txtInput);
	
	textInput.keydown(function(event){
		switch (event.keyCode)
		{
			case 13:
				event.preventDefault();
				event.stopPropagation();
				enterButton.click();
				break;
		}		
	});
}

function getURLParam(strParamName)
{
	var strReturn = "";
	var strHref = window.location.href;
	var bFound=false;

	var cmpstring = strParamName + "=";
	var cmplen = cmpstring.length;

	if ( strHref.indexOf("?") > -1 )
	{
		var strQueryString = strHref.substr(strHref.indexOf("?")+1);
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ )
		{
			if (aQueryString[iParam].substr(0,cmplen)==cmpstring)
			{
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				bFound=true;
				break;
			}		  
		}
	}
	if (bFound==false)
	{
		// try to match by RegExp in DNN style friendly urls 
		var rx = new RegExp("/" + strParamName + "/([^/]*)/","i");
		var match = rx.exec(strHref);
		if(match !== null)
		{
			return match[1];
		}
		return null;
	}
	return strReturn;
}

function shareUrl(siteName, url)
{
    var pageUrl = url || location.href;
    var title = document.title;
    var description = "";
    
    switch (siteName)
    {
        case "newsvine":
            window.open("http://www.newsvine.com/_wine/save?ver=2&popoff=0&e=" + description + "&h=" + title + "&u=" + pageUrl, "newsvine", "toolbar=0,status=0,height=510,width=660,scrollbars=yes,resizable=yes");
            break;
        case "facebook":
            window.open("http://www.facebook.com/sharer.php?u=" + pageUrl + "&t=" + title, "facebook", "toolbar=0,status=0,height=436,width=646,scrollbars=yes,resizable=yes");
            break;
        case "digg":
            window.open("http://digg.com/submit?phase=2&url=" + pageUrl + "&title=" + title + "&topic=educational", "digg", "toolbar=0,status=0,height=450,width=650,scrollbars=yes,resizable=yes");
            break;
        case "delicious":
            window.open("http://del.icio.us/post?v=4&noui&jump=close&url=" + pageUrl + "&title=" + title + "&bodytext=" + description, "delicious", "toolbar=0,status=0,height=400,width=700,scrollbars=yes,resizable=no");
            break;
        default:;
    }
}

function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13)
	   {
	   GoogleRedirect();
	   return false;
	   }
	else
	   return true;   
}


function GoogleRedirect()
{
	/*var q = document.getElementById("q").value;    
    q = encodeURI(q);    
	var url = "/CP/SearchEduGuide/tabid/117/Default.aspx?cx=010411218571999503490%3Ap3_pvelqrn8&cof=FORID%3A11&q=#q#&sa=Search#321";            
	url = url.replace("#q#", q);    
	window.location = url;*/
	var q = document.getElementById("q").value;
    q = encodeURI(q);    
	var url = "/CP/SearchEduGuide/tabid/117/Default.aspx?sterm=#q#";            
	url = url.replace("#q#", q);    
	window.location = url;
}


function showQuizModal(anchorTrigger)
{
	var url = jQuery(anchorTrigger).attr('href');
	//url = "/test.html";
	//alert(url);
	
	//jQuery("body").append('<div class="jqmWindow" id="quizJqmWindow"></div>');
	//jQuery("body").append('<iframe class="jqmWindow" id="quizJqmIframe" frameborder="0"></iframe>');

	//jQuery('#quizJqmIframe').attr('src',url);
	//jQuery('#quizJqmIframe').jqm().jqmShow();
	
	jQuery('#quizJqmWindow').jqm({ajax: url}).jqmShow();
	
	//jQuery('#quizJqmWindow').jqmShow();
}

function closeQuizModal()
{
    //alert( jQuery('#quizJqmIframe').length );
    //jQuery('#quizJqmIframe').jqmHide();
    
    jQuery('#quizJqmIframe').each(function() {
        try {
            jQuery(this).jqmHide();
        } catch(e) {
        
        }
    });
    //jQuery(window.top.document.getElementById('quizJqmIframe')).jqmHide();
    
    //globalQuizModal.jqmHide();
    
    //jQuery(top.document.getElementById('quizJqmIframe')).jqmHide();
    //jQuery('#quizJqmIframe').jqmHide();
    return false;
}



/*
	Date Format 1.1
	(c) 2007 Steven Levithan <stevenlevithan.com>
	MIT license
	With code by Scott Trenda (Z and o flags, and enhanced brevity)
*/

/*** dateFormat
	Accepts a date, a mask, or a date and a mask.
	Returns a formatted version of the given date.
	The date defaults to the current date/time.
	The mask defaults ``"ddd mmm d yyyy HH:MM:ss"``.
*/
var dateFormat = function () {
	var	token        = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloZ]|"[^"]*"|'[^']*'/g,
		timezone     = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (value, length) {
			value = String(value);
			length = parseInt(length) || 2;
			while (value.length < length)
				value = "0" + value;
			return value;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask) {
		// Treat the first argument as a mask if it doesn't contain any numbers
		if (
			arguments.length == 1 &&
			(typeof date == "string" || date instanceof String) &&
			!/\d/.test(date)
		) {
			mask = date;
			date = undefined;
		}

		date = date ? new Date(date) : new Date();
		if (isNaN(date))
			throw "invalid date";

		var dF = dateFormat;
		mask   = String(dF.masks[mask] || mask || dF.masks["default"]);

		var	d = date.getDate(),
			D = date.getDay(),
			m = date.getMonth(),
			y = date.getFullYear(),
			H = date.getHours(),
			M = date.getMinutes(),
			s = date.getSeconds(),
			L = date.getMilliseconds(),
			o = date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4)
			};

		return mask.replace(token, function ($0) {
			return ($0 in flags) ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();

// Some common format strings
dateFormat.masks = {
	"default":       "ddd mmm d yyyy HH:MM:ss",
	shortDate:       "m/d/yy",
	mediumDate:      "mmm d, yyyy",
	longDate:        "mmmm d, yyyy",
	fullDate:        "dddd, mmmm d, yyyy",
	shortTime:       "h:MM TT",
	mediumTime:      "h:MM:ss TT",
	longTime:        "h:MM:ss TT Z",
	isoDate:         "yyyy-mm-dd",
	isoTime:         "HH:MM:ss",
	isoDateTime:     "yyyy-mm-dd'T'HH:MM:ss",
	isoFullDateTime: "yyyy-mm-dd'T'HH:MM:ss.lo"
};

// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};

// For convenience...
Date.prototype.format = function (mask) {
	return dateFormat(this, mask);
}

