function toggleCSS() {
	var i=0;
	if(document.styleSheets.length>0) {
		cs=!document.styleSheets[0].disabled;
  		for(i=0;i<document.styleSheets.length;i++)
  			document.styleSheets[i].disabled=cs;
 	};
	void(cs=true);
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function openWindow(url,width,height,resize,scrolling){
	var objWindow;
	objWindow = window.open(url,'window','width=' + width + ',height=' + height + ',menu=0,links=0,toolbar=0,resizeable=' + resize + ',scrolling=' + scrolling);
	if(objWindow) objWindow.focus();
}

function swapDisplay(element1, element2){
	getEbi(element1).style.display = 'hidden';	
	getEbi(element2).style.display = 'block';	
}

function toggleDisplay(element){
	objElement = getEbi(element);
	objElement.style.display = (objElement.style.display == 'hidden') ? 'block' : 'hidden';
}

function isValidEmail(email){
	var objRegExp = new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
	return objRegExp.test(email);
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function isValidDate(date){
	var testDate = new String(date);
	var regex = /(^\d{1,2})\/(\d{1,2})\/(\d{4,4})|(^\d{1,2})\/(\d{1,2})\/(\d{2,2})/;
	
	if (regex.test(testDate)){
		var month = new String(RegExp.$2);
		var day = new String(RegExp.$1);
		var year = new String(RegExp.$3);
		
		if (month.length == 0){
			month = new String(RegExp.$5);
			day = new String(RegExp.$4);
			year = new String(RegExp.$6);
		}
		
		var today = new Date();
		var thisYear = new String(today.getFullYear());
		
		if (year.length == 2){					
			if (year > 50){
				year = String(Number(thisYear.substring(0,2))-1) + year;
			} else{
				year = thisYear.substring(0,2) + year;
			}
		}
		
		if (month < 1 || month > 12){return false;}
		if (day < 1 || day > 31){return false;}
		if ((month==4 || month==6 || month==9 || month==11) && day>30){return false;}

		if (month == 2){ 
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			
			if (day>29 || (day==29 && !isleap)){
				return false;
			}
		}		
		
		if ((Number(year) < Number(thisYear) - 250) || (Number(year) > Number(thisYear) + 250)){return false;}
		return true;
	}
	return false;
}

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";
}
function PopupPic(sPicURL,sPageTitle) {
	 window.open( "/templates/popup.asp?image="+sPicURL+"&title="+sPageTitle , "_blank","resizable=1,height=200,width=200");
}

function tMO() {
	var a = (arguments)? arguments : tMO.arguments, obj = a[0], state = (a[1]==1)? 'over' : 'out';
	return obj.className = state;
}

function pgGo(url) {
	document.location.href = url;
}

function isValidated(frm) {
	function fldNameParse(strFieldName) {
		var strLabel = strFieldName;
		if (strLabel.length==0) return;
		if (strLabel.indexOf("fld")==0) strLabel = strLabel.substring(2);
		strLabel = strLabel.substring(0,1).toUpperCase() + strLabel.substring(1);
		return strLabel;
	}
	var boolOut = true, frmName = frm.name, frmFields = frm.getElementsByTagName('INPUT');
	switch (frmName) {
		case "frmRetailLogin":
			var strOut = "";
			for (var i=0; i<frmFields.length; i++) {
				//strOut+= "\n" + i + ": " + frmFields[i].name + " [" + frmFields[i].type + "]";
				//el = document.getElementById("fld_" + frmFields[i].name).id;
				if (frmFields[i].value.length==0) {
					switch (frmFields[i].type.toLowerCase()) {
						case "text": case "password":
							strOut+= "\n- '" + fldNameParse(frmFields[i].name) + "' field cannot be empty";
							break;
					}
				}
			}
			if (strOut.length>0) {
				boolOut = false;
				alert("Please resolve following issues:" + strOut);
			}
			break;
		default:
			boolOut = false;
	}
	//alert(boolOut);
	return boolOut;
}