/*	IsNumericString - true for all numeric, false if not*/
function IsNumericString(PossibleNumber)
{	
	var PNum = new String(PossibleNumber);

	try {
		PNum = TrimString(PNum);
		PNum = PNum.replace(',','.');			
	    var ValidChars = "0123456789.";
	    var IsNumber=true;
	    var Char;
	 
	    for (i = 0; i < PNum.length && IsNumber == true; i++) 
	    { 
	      Char = PNum.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1) 
	      {
	         IsNumber = false;
	      }
 	    }
 	    return IsNumber;			
	} catch( e ) {
		return false;
	}
	
	

}

function TrimString( s ) {
	return s.replace(/^\s+|\s+$/g, '');
}

function validEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) {
		return false;
	}
	return true;
}

function NewWindow(mypage,myname,w,h,scroll){
  var winl = (screen.width-w)/2;
  var wint = (screen.height-h)/2;
  var settings  ='height='+h+',';
      settings +='width='+w+',';
      settings +='top='+wint+',';
      settings +='left='+winl+',';
      settings +='scrollbars='+scroll+',';
      settings +='resizable=yes';
  win=window.open(mypage,myname,settings);
  if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
function isDateAfter(from, to, format) 
{	
	var dateFrom = from;

	var strDateFrom = dateFrom;
	var strDayFrom = "00";
	var strMonthFrom = "00";
	var strYearFrom = "00";

	strDateFrom = dateFrom.value;

	if (format=="ddMMyy")
	{

		strDayFrom = strDateFrom.substr(0, 2);
		strMonthFrom = strDateFrom.substr(2, 2);
		strYearFrom = strDateFrom.substr(4, 2);
	} 
	else if (format=="yyMMdd")
	{
		strYearFrom = strDateFrom.substr(0, 2);
		strMonthFrom = strDateFrom.substr(2, 2);
		strDayFrom = strDateFrom.substr(4, 2);
	}
	else if (format=="MMddyy")
	{
		strMonthFrom = strDateFrom.substr(0, 2);
		strDayFrom = strDateFrom.substr(2, 2);
		strYearFrom = strDateFrom.substr(4, 2);
	} 
	else if (format=="ddyyMM")
	{
		strDayFrom = strDateFrom.substr(0, 2);
		strYearFrom = strDateFrom.substr(2, 2);
		strMonthFrom = strDateFrom.substr(4, 2);
	} 
	else if (format=="yyddMM")
	{
		strYearFrom = strDateFrom.substr(0, 2);
		strDayFrom = strDateFrom.substr(2, 2);
		strMonthFrom = strDateFrom.substr(4, 2);
	} 	
	else
	{
		alert('dateformat ' + format + ' is not supported');
	}

	if (strYearFrom > 50)
		strYearFrom = "19" + strYearFrom;
	else 
		strYearFrom = "20" + strYearFrom;
	
	var reverseDateFrom = strYearFrom + strMonthFrom + strDayFrom;
	
	var dateTo = to;
	var strDateTo = dateTo.value;

	var strDayTo = "00";
	var strMonthTo = "00";
	var strYearTo = "00";

	if (format=="ddMMyy")
	{

		strDayTo = strDateTo.substr(0, 2);
		strMonthTo = strDateTo.substr(2, 2);
		strYearTo = strDateTo.substr(4, 2);
	} 
	else if (format=="yyMMdd")
	{
		strYearTo = strDateTo.substr(0, 2);
		strMonthTo = strDateTo.substr(2, 2);
		strDayTo = strDateTo.substr(4, 2);
	} 
	else if (format=="MMddyy")
	{
		strMonthTo = strDateTo.substr(0, 2);
		strDayTo = strDateTo.substr(2, 2);
		strYearTo = strDateTo.substr(4, 2);
	} 
	else if (format=="ddyyMM")
	{
		strDayTo = strDateTo.substr(0, 2);
		strYearTo = strDateTo.substr(2, 2);
		strMonthTo = strDateTo.substr(4, 2);
	} 
	else if (format=="yyddMM")
	{
		strYearTo = strDateTo.substr(0, 2);
		strDayTo = strDateTo.substr(2, 2);
		strMonthTo = strDateTo.substr(4, 2);
	} 	
	
	if (strYearTo > 50) 
		strYearTo = "19" + strYearTo;
	else
		strYearTo = "20" + strYearTo;
	
	var reverseDateTo = strYearTo + strMonthTo + strDayTo;
	
	if (reverseDateFrom > reverseDateTo) 
	{
		dateTo.focus();
		return false;
	}
	else 
	{
		return true;
	}
};

function convertDate(date, format) 
{
	var strDateTo = date.value;
	var strDayTo = "00";
	var strMonthTo = "00";
	var strYearTo = "00";

	if (format=="ddMMyy")
	{
		strDayTo = strDateTo.substr(0, 2);
		strMonthTo = strDateTo.substr(2, 2);
		strYearTo = strDateTo.substr(4, 2);
	} 
	else if (format=="yyMMdd")
	{
		strYearTo = strDateTo.substr(0, 2);
		strMonthTo = strDateTo.substr(2, 2);
		strDayTo = strDateTo.substr(4, 2);
	} 
	else if (format=="MMddyy")
	{
		strMonthTo = strDateTo.substr(0, 2);
		strDayTo = strDateTo.substr(2, 2);
		strYearTo = strDateTo.substr(4, 2);
	} 
	else if (format=="ddyyMM")
	{
		strDayTo = strDateTo.substr(0, 2);
		strMonthTo = strDateTo.substr(2, 2);
		strYearTo = strDateTo.substr(4, 2);
	} 
	else if (format=="yyddMM")
	{
		strYearTo = strDateTo.substr(0, 2);
		strDayTo = strDateTo.substr(2, 2);
		strMonthTo = strDateTo.substr(4, 2);
	} 
	else
	{
		alert('dateformat ' + format + ' is not supported');
	}

	if (strYearTo > 50)
		strYearTo = "19" + strYearTo;
	else
		strYearTo = "20" + strYearTo;
	
	if (format=="ddMMyy")
		return strDayTo + '.' + strMonthTo + '.' + strYearTo;
	else if (format=="yyMMdd")	
		return strYearTo + '.' + strMonthTo + '.' + strDayTo;
	else if (format=="MMddyy")
		return strDayTo + '.' + strMonthTo + '.' + strYearTo;
	else if (format=="ddyyMM")
		return strDayTo + '.' + strYearTo + '.' + strMonthTo;
	else if (format=="yyddMM")
		return strYearTo + '.' + strDayTo + '.' + strMonthTo;		
};

function LeapYearYY(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
};


function checkDate(date,format) {
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;

	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";

	var datefield = date;
	strDate = datefield.value;

	if( strDate.length > format.length ) {
	  return false;
	}
	
	if (format=="ddMMyy")
	{
		strDay = strDate.substr(0, 2);
		strMonth = strDate.substr(2, 2);
		strYear = strDate.substr(4,2);
	} 
	else if (format=="MMddyy")
	{
		strMonth = strDate.substr(0, 2);
		strDay = strDate.substr(2, 2);
		strYear = strDate.substr(4,2);
	} 
	else if (format=="yyMMdd")
	{
		strYear = strDate.substr(0,2);		
		strMonth = strDate.substr(2, 2);
		strDay = strDate.substr(4, 2);		
	}
	else if (format=="ddyyMM")
	{
		strDay = strDate.substr(0,2);		
		strYear = strDate.substr(2, 2);
		strMonth = strDate.substr(4, 2);		
	}
	else if (format=="yyddMM")
	{
		strYear = strDate.substr(0,2);		
		strDay = strDate.substr(2, 2);
		strMonth = strDate.substr(4, 2);		
	}
	else
	{
		alert('dateformat ' + format + ' is not supported');
	}

	if (isNaN(strDay)) 
		return false;

	if (isNaN(strMonth))
		return false;

	if (isNaN(strYear))
		return false;

	if (strYear > 49)
		strYear = '19' + strYear;
	else
		strYear = '20' + strYear;

	if (strYear < '1950') 
		return false;

	if (strYear > '2049') 
 		 return false;

	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
		err = 2;
		return false;
	}	

	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
		for (i = 0;i<12;i++) {
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
			 }
		}
	
		if (isNaN(intMonth)) {
			err = 3;
			return false;
		}
	}

	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
		err = 4;
		return false;
	}

	if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
	}

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
		err = 6;
		return false;
	}

	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
		err = 7;
		return false;
	}

	if (intMonth == 2) {
		if (intday < 1) {
			err = 8;
			return false;
		}

		if (LeapYearYY(intYear) == true) {
			if (intday > 29) {
				err = 9;
				return false;
			}
		}
		else {
			if (intday > 28) {
				err = 10;
				return false;
			}
		}
	}

	return true;
};


/*
 * Return true is the element contains a value which is not 'null' otherwise it returns false.
 *
 */
function validateElement( element ) {
	if (element == null) return false;
	if( element.type == 'text' || element.type == 'hidden' || element.type == 'select-one' ) {		
		return (element.value.length > 0 && element.value.toUpperCase() != 'NULL');
	} else if( element.type == 'checkbox' ) {
		return element.checked;
	} else {
		alert('Unable to validate element of type: ' + element.type);
		return false;
	}
}

function getSiteCookie(cookieName) {
	var exp = new RegExp (escape(cookieName) + "=([^;]+)");
	if (exp.test (document.cookie + ";")) {
		exp.exec (document.cookie + ";");
		return unescape(RegExp.$1);
  	}
  	else return false;
}
			
function setSiteCookie( 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 deleteSiteCookie( name, path, domain ) {
  if ( getSiteCookie( name ) ) 
  	document.cookie = name + "=" +
    ((path )? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "" ) +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
} 


/* ***************************************************************************************************************************
 * START: Methods for adding listening funktions to given elements
 * ***************************************************************************************************************************/
function addEvent(elem, eventName, eventFunction) {
	if (elem.addEventListener)
		elem.addEventListener(eventName, eventFunction, false);
		
	else if (elem.attachEvent)
		elem.attachEvent('on' + eventName, eventFunction);
}

function removeEvent(elem, eventName, eventFunction) {
	if (elem.removeEventListener)
		elem.removeEventListener(eventName, eventFunction, false);
		
	else if (elem.detachEvent)
		elem.detachEvent('on' + eventName, eventFunction);
}
/* ***************************************************************************************************************************
 * END: Methods for adding listening funktions to given elements
 * ***************************************************************************************************************************/


/* ***************************************************************************************************************************
 * START: Method for making vertical text. Adds a <br/> after each character in the string.
 * ***************************************************************************************************************************/
function makeVerticalText(str) {
	var result='';
	var tmpIndex = 0;
	for (var i=0;i<str.length;i++) {    
	 	if( str.charAt(i) == '<' ) {
	  	 	tmpIndex = str.indexOf(">",i);
	  	 	result+=str.substring( i, (tmpIndex+1) );
  	 		i = tmpIndex;
		} else {
	  		if( str.indexOf("<br/>",i) == (i+1) ) {
	  		}
	  		result+=(str.charAt(i)!=' ') ? str.charAt(i)+'<br/>' : '&nbsp;<br/>';
  		}
	}	
	return result;
}
/* ***************************************************************************************************************************
 * END: Method for making vertical text. Adds a <br/> after each character in the string.
 * ***************************************************************************************************************************/

/* ***************************************************************************************************************************
 * START: Method for toggling the display property of an element. Switched between 'none' and 'block'.
 * ***************************************************************************************************************************/
function toggleElementDisplay( id ) {
	if( document.getElementById(id) ) {
		if(document.getElementById(id).style.display == 'none') {
			document.getElementById(id).style.display = 'block'
		} else {
			document.getElementById(id).style.display = 'none'
		}
	}
}
/* ***************************************************************************************************************************
 * END: Method for toggling the display property of an element. Switched between 'none' and 'block'.
 * ***************************************************************************************************************************/


/* ***************************************************************************************************************************
 * START: Method for setting a specific classname for images that couldn't be loaded.
 * ***************************************************************************************************************************/
/*
 Params: The div element containing the image tag.
 */
function handleImageError( id ) {
	if( document.getElementById(id) != null ) {
		document.getElementById(id).className = 'imgError';
		document.getElementById(id).innerHTML = '';
	}
}
/* ***************************************************************************************************************************
 * END: Method for setting a specific classname for images that couldn't be loaded.
 * ***************************************************************************************************************************/


/* ***************************************************************************************************************************
 * START: Methods for adding items to the user shopping cart.
 * ***************************************************************************************************************************/
var addOrderItemRequest = null; 
var loadingDiv = null;
var currentIndex = null;


/**
 *@param: storeId
 *@param: langId
 *@param: orderId
 *@param: responseId - The name of the div that should be visible after request.
 *@param: loadingId - The name of the div to be displayed during processing.
 *@param: formName
 *@param: rowIndex - If an index is provided then only the element at this index will be added to shopping cart.
 *
 */
function doAddOrderItem(storeId, langId, orderId, confirmId, loadingId, failedId, formName, rowIndex) {
	if( addOrderItemRequest == null ) {
		var count = document.getElementById('rowCount').value;
		var formElement = document.getElementById(formName);
		
		if( validateBeforeAddingOrderItems(formElement, count, true, rowIndex) ) {
			//Notify the user about the work being done			
			
			loadingDiv = loadingId;			
			displayElementCenterScreeen( loadingDiv );			
			Effect.Appear(loadingId);		

			var catIds = '';	
			var qtyValue = '';
			var f1Value = '';	
			var f2Value = '';
			var comments = '';
			
			if( rowIndex != null && !isNaN(rowIndex) ) {
				var cat = document.getElementById('catEntryId_' + rowIndex).value;
				var qty = document.getElementById('quantity_' + rowIndex).value;

				var f1 = '';
				if( document.getElementById('field1_' + rowIndex) != null ) {
					f1 = document.getElementById('field1_' + rowIndex).value;		
				}
				
				var f2 = '';
				if( document.getElementById('field2_' + rowIndex) != null ) {
					f2 = document.getElementById('field2_' + rowIndex).value;				
				}
						
				if( qty != '' && !isNaN(qty) && parseFloat(qty) > 0 ) {
					catIds = catIds + '&catEntryId_' + rowIndex + '=' + cat;
					qtyValue = qtyValue + '&quantity_' + rowIndex + '=' + qty;
					f1Value = f1Value + '&field1_' + rowIndex + '=' + f1;
					f2Value = f2Value + '&field2_' + rowIndex + '=' + f2;
					
				}
				
				currentIndex = rowIndex;
			} else {
				//
				for(index = 0 ; index < count ; index++) {
					var cat = document.getElementById('catEntryId_' + index).value;
					var qty = document.getElementById('quantity_' + index).value;

					var f1 = '';
					if( document.getElementById('field1_' + index) != null ) {
						f1 = document.getElementById('field1_' + index).value;					
					}

					var f2 = '';
					if( document.getElementById('field2_' + index) != null ) {
						f2 = document.getElementById('field2_' + index).value;				
					}			
							
					var comment = '';
					if( document.getElementById('comment_' + index) != null ) {
						comment = document.getElementById('comment_' + index).value;				
					}
					
					if( qty != '' && !isNaN(qty) && parseFloat(qty) > 0 ) {
						catIds = catIds + '&catEntryId_' + index + '=' + cat;
						qtyValue = qtyValue + '&quantity_' + index + '=' + qty;
						f1Value = f1Value + '&field1_' + index + '=' + f1;
						f2Value = f2Value + '&field2_' + index + '=' + f2;
						comments = comments + '&comment_' + index + '=' + comment;
					}					
				}
			}
			
			addOrderItemRequest = new Ajax.Request( 'AddOrderItemsAjaxCmd?storeId='+storeId+'&langId=' + langId, {parameters: '&orderId=.&confirmId=' + confirmId + '&failedId=' + failedId + '' + catIds + '' + qtyValue + '' + f1Value + '' + f2Value + '' + comments, onComplete: handleAddOrderItemsAJAXResponse} );		
		}

	}
}


/*
 * This function will be called whenever an item gets added to the shopping cart.
 */
function handleAddOrderItemsAJAXResponse(res) {
	Effect.Fade(loadingDiv);
	
	if( res.status == 200 ) {
		displayNotifyDivCenterScreen(res.request.parameters.confirmId, res.responseText ,3000);					
		
		//Hide confirmation message after 5 seconds..
		setTimeout("Effect.Fade('"+res.request.parameters.confirmId+"')",3000);
	
		//Make sure everyone interrested gets notified...
		onOrderItemAdded.fire();		
		
		//Reset input fields...
		try {
			if( currentIndex != null ) {
				document.getElementById('quantity_' + currentIndex).value = '';
			} else {
	   		  var count = document.getElementById('rowCount').value;
			  for(index = 0 ; index < count ; index++) {
				  document.getElementById('quantity_' + index).value = '';
				  var f = document.getElementsByName('quantity_' + index);
				  for(i = 0 ; i < f.length ; i++) {
				  	f[i].value = '';
				  }
			  } 
			}
		} catch( e ) {}
	} else {
		displayNotifyDivCenterScreen(res.request.parameters.failedId, res.responseText ,3000);					
		
		//Hide confirmation message after 5 seconds..
		setTimeout("Effect.Fade('"+res.request.parameters.failedId+"')",3000);		
	}
	
	currentIndex = null;
	loadingDiv = null;
	addOrderItemRequest = null;
}
/* ***************************************************************************************************************************
 * END: Methods for adding items to the user shopping cart.
 * ***************************************************************************************************************************/

/* ***************************************************************************************************************************
 * START: Methods for adding items to the user favourite list.
 * ***************************************************************************************************************************/

var add2FavoriteRequest = null;

var add2FavoriteLoadingDivId = null;
var add2FavoriteLoadingText = null;
var add2FavoriteCompletedDivId = null;
var add2FavoriteCompletedText = null;
var add2FavoriteFailedDivId = null;
var add2FavoriteFailedText = null;

function add2Favorite(storeId, langId, loadingDivId, loadingText, completedDivId, completedText, failedDivId, failedText, name ) {		
	var itemList = '';
	
	add2FavoriteLoadingDivId = loadingDivId;
	add2FavoriteLoadingText = loadingText;
	add2FavoriteCompletedDivId = completedDivId;
	add2FavoriteCompletedText = completedText;
	add2FavoriteFailedDivId = failedDivId;
	add2FavoriteFailedText = failedText;
	
	if( name == null )
		name = 'selectedItems'; 
	
	var boxes = document.getElementsByName(name);		
	for( i = 0 ; i < boxes.length ; i++ ) {
		if( boxes[i].checked ) {
			itemList += '&itemId=' + document.getElementById('catEntryId_' + boxes[i].value).value;
		}
	}	
	
	displayNotifyDivCenterScreen( loadingDivId, loadingText );
	add2FavoriteRequest = new Ajax.Request( 'Add2FavoriteAjaxCmd?storeId='+storeId+'&langId=' + langId, {parameters: itemList, onComplete: handleAdd2FavoriteAJAXResponse} );		
}

function handleAdd2FavoriteAJAXResponse(res) {
	Effect.Fade( add2FavoriteLoadingDivId );
	if( res.status == 200 ) {
		//Make sure listeners gets notified...
		onItemAdded2FavoritList.fire();
		
		var baseText = add2FavoriteCompletedText + ' ' + res.responseText;

		displayNotifyDivCenterScreen( add2FavoriteCompletedDivId, baseText, 3000 );		
		Effect.Appear( add2FavoriteCompletedDivId );
	} else {
		displayNotifyDivCenterScreen( add2FavoriteFailedDivId, add2FavoriteFailedText, 3000 );
	}
}

/* ***************************************************************************************************************************
 * END: Methods for adding items to the user favourite list.
 * ***************************************************************************************************************************/


function resetInnerHTML( div, text ) {
	if( document.getElementById(div) ) {
		Effect.Fade(div);
		document.getElementById(div).innerHTML = text;
	}
}

var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1

function displayNotifyDivCenterScreen( id, text, time ) {
	if( document.getElementById(id) != null ) {
		//The div already exists - just change the text and reposition it	
		document.getElementById(id).innerHTML = text;
	} else {
		//The div doesn't exist - create it.
		var div = '<div id="' + id + '">';
		div += text;
		div += '</div>';
		new Insertion.Top("page",div);
	}
	
	displayElementCenterScreeen( id );
	
	Effect.Appear( id );
		
	if( typeof time != "undefined" ) {
		setTimeout("Effect.Fade('"+id+"')", time);
	}
}

function displayElementCenterScreeen(id){
	var element = document.getElementById( id );

	if( element == null ) {
		return;
	}

	var dsocleft = 0;
	var dsoctop = 0;
	var window_width = 0;
	var window_height = 0;
	
	if (document.documentElement && !document.documentElement.scrollTop) {
	// IE6 +4.01 but no scrolling going on
	} else if (document.documentElement && document.documentElement.scrollTop) {
	// IE6 +4.01 and user has scrolled
		dsocleft=ie? document.documentElement.scrollLeft : pageXOffset
		dsoctop=ie? document.documentElement.scrollTop : pageYOffset
	} else if (document.body && document.body.scrollTop) {
	// IE5 or DTD 3.2	
		dsocleft=ie? document.body.scrollLeft : pageXOffset
		dsoctop=ie? document.body.scrollTop : pageYOffset	
	}
	
	window_width=ie? document.documentElement.clientWidth : window.innerWidth-20
	window_height=ie? document.documentElement.clientHeight : window.innerHeight
	
	if (ie||document.getElementById){		
		element.style.left=(parseInt(dsocleft)+ ( (parseInt(window_width)/2) - ($(id).getWidth()/2) )) + 'px';
		element.style.top=(parseInt(dsoctop)+ ( (parseInt(window_height)/2) -($(id).getHeight()/2) )) + 'px';
	}
	else if (document.layers){
		element.left=dsocleft+ ( window_width/2 - ($(id).getWidth()/2) ) + 'px';
		element.top=dsoctop+ ( window_height/2 - ($(id).getHeight()/2) ) + 'px';
	}	
	
	//Keep positioned correctly
	//setInterval("displayElementCenterScreeen('"+ id +"')",50);	
}

function setSelectedStatus( name, status ) {
	var checkboxes = document.getElementsByName( name );
	
	for(i = 0 ; i < checkboxes.length ; i++) {
		checkboxes[i].checked = status;
	}
}

function openModalWindow(url, title, height, width, opener) {
	if (window.showModalDialog) {
		var windowParams = new Object();
		windowParams.url = url;
		windowParams.title = title;		
		windowParams.height = height;
		windowParams.width = width;
		windowParams.opener = opener;
		window.showModalDialog('https://www.grene.com/shop/action/BlankModalView?storeId=11000',windowParams,"dialogWidth:"+ width +"px;dialogHeight:"+ height +"px");
	} else {
		window.open(url,title,'height='+ height +',width='+ width +',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no ,modal=yes');
	}
} 