function include_dom(script_type, script_language, script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', script_language);
    js.setAttribute('type', script_type);
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}

include_dom("text/javascript", "javascript", "/estore/js/ua.js");
include_dom("text/javascript", "javascript", "/estore/js/windowPop.js");

/* IN ARRAY PROTOTYPE inArray() */
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

/* SEARCH URL STRING FOR VARIABLE NAME AND RETURN CORRESPONDING VARIABLE */
function returnVariable(name){
	varString = window.location.search.substring(1);
	var vars = varString.split('&');
	for(var i=0; i<vars.length; i++){
		var pair = vars[i].split("=");
		if(pair[0] == name){
			return pair[1];
		}
	}
	return false;
}

/* VALIDATE EMAIL ADDRESS */
function isValidEmail(e)
{
	var alnum="a-zA-Z0-9";
	exp="^[^@\\s]+@(["+alnum+"+\\-]+\\.)+["+alnum+"]["+alnum+"]["+alnum+"]?$";
	emailregexp = new RegExp(exp);

	result = e.match(emailregexp);
	if (result != null)
	{
		return true;
	}
	else
	{
		return false;
	}
}

/* JAVASCRIPT COOKIE SCRIPTS */
function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

/* TRIM FUNCTIONS */
/* USAGE
	var test = "   Test   ";
	var test1 = test.ltrim();   // returns "Test   "
	var test2 = test.rtrim();   // returns "   Test"
	var test3 = test.trim();    // returns "Test"
*/
String.prototype.trim = function() {
   return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
   return this.replace(/^\s+/g,"");
}
String.prototype.rtrim = function() {
   return this.replace(/\s+$/g,"");
}

/* FORMAT NUMBERS */
/* USAGE
	var test1 = formatNumber('5123456789.25'); // returns 5,123,456,789.25
	var test2 = formatNumber(1234.15,'$');     // returns $1,234.15
	var test3 = unformatNumber('$1,234.15');   // returns 1234.15
*/
function formatNumber(num,prefix){
   prefix = prefix || '';
   num += '';
   var splitStr = num.split('.');
   var splitLeft = splitStr[0];
   var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
   var regx = /(\d+)(\d{3})/;
   while (regx.test(splitLeft)) {
      splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
   }
   return prefix + splitLeft + splitRight;
}

function unformatNumber(num) {
   return num.replace(/([^0-9\.\-])/g,'')*1;
}

/* STRIP HTML ENTITIES */
/* USAGE 
	var tmp = '<html><head></head>';
	var safe= tmp.htmlEntities(); // Returns "&lt;html&gt;&lt;head&gt;&lt;/head&gt;"
*/
String.prototype.htmlEntities = function () {
   return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
};

/* TOP NAV CONFIGURATION - http://cherne.net/brian/resources/jquery.hoverIntent.html */
var topNavHover = {
	sensitivity: 10, // number = sensitivity threshold (must be 1 or higher)
	interval: 75, // number = milliseconds for onMouseOver polling interval
	over: topNavDrop, // function = onMouseOver callback (required)
	timeout: 150, // number = milliseconds delay before onMouseOut
	out: topNavClear // function = onMouseOut callback (required)
};

var topNavCount = 0;

function topNavDrop(){ $("ul", this).fadeIn("fast"); }
function topNavClear(){ $("ul", this).fadeOut("fast"); }

$(document).ready(function(){
	if(document.getElementById('shareButtons')){
		addthis.button("#shareButtons", {}, {url: sessionScrub()});
	}
	
	$(document).pngFix();
	
	$("#topNavigation ul.navLvl1").children('li:last').children('ul:first').addClass("lastNav");
	
	/* TOP NAV HOVER */
	$("#topNavigation li").hoverIntent( topNavHover );
	$("#topNavigation img").hover(
		function(){
			var imgSrc = $(this).attr('src');
			if(imgSrc.indexOf('_off') != -1){
				newImgOn = imgSrc.replace('_off','_on');
				$(this).attr('src',newImgOn);
				topNavCount = 1;
			}else{
				topNavCount = 0;
			}
		},
		function(){
			if(topNavCount != 0){
				var imgSrc = $(this).attr('src');
				if(imgSrc.indexOf('_on')){
					newImgOff = imgSrc.replace('_on','_off');
					$(this).attr('src',newImgOff);
					topNavCount = 0;
				}
			}	
		}
	
	);


});


// CODE FOR PRINT ISSUE IE BROWSER
function printCheckIE(){
	if(navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') {return true;} else {return false;}
 }
function printFrame(){
	if(printCheckIE() == true){
		document.popoverFrame.focus();
		document.popoverFrame.print();
	}else{
		window.frames['popoverFrame'].focus();
		window.frames['popoverFrame'].print();
	}
 }

// CODE FOR LIMITING TEXT LENGTH IN TEXTAREA
function ismaxlength(obj){
	var mlength = obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if(obj.getAttribute && obj.value.lenth > mlength)
		obj.value = obj.value.substring(0,mlength)
}
function textCounter(){
	return true;
}

// ADDTHIS CODE
var addthis_config = {
	 ui_header_color: "#ffffff",
     ui_header_background: "#958e8a",
	 ui_delay: "100",
	 services_compact: 'email, facebook, twitter, delicious, digg, favorites, google, technorati, wordpress, tumblr, typepad, blogger, more'
}
function sessionScrub(){
	thisURL = document.location.href;
	if(thisURL.indexOf(";jsessionid=") == -1){
		return thisURL;
	}else{
		firstHalf = thisURL.split(';')[0];
		if(thisURL.indexOf('?') == -1){
			return firstHalf;
		}else{
			secondHalf = thisURL.split('?')[1];
			return firstHalf + "?" + secondHalf;
		}
	}
}
