var _created_windows = new Array();

function boolToYesNo( value ) {

	return( value ? 'yes' : 'no' );

}

function createWindow ( oPConfig ) {

	var ret_val = null;
	
	var window_params = '';
	
	var oConfig = {
		
		'x' 		: -1,
		'y' 		: -1,
		'width' 	: 400,
		'height' 	: 400,
		'nodups'	: true,
		'scroll'	: true,
		'status'	: false,
		'location'	: false,
		'menubar'	: false,
		'toolbar'	: false,
		'hotkeys'	: false,
		'fullscreen': false,
		'resize'	: false,
		'name'		: 'dialog',
		'url'		: 'about:blank'
		
	}


	if( oPConfig && typeof( oPConfig ) == 'object' ) {
		
		for( var idx in oPConfig ) {
			if( typeof( oConfig[idx] ) != 'undefined' ) {
				oConfig[idx] = oPConfig[idx];
			}
		}
		
		if( oConfig.nodups && _created_windows[oConfig.name] ) {
			
			try {
				_created_windows[oConfig.name].close();
			} catch ( e ) {
				// oj, exceptionas =|
			}
			
			_created_windows[oConfig.name] = null;
		
		}
		
		if( oConfig.x < 0 ) {
			oConfig.x = Math.round( ( screen.height - oConfig.height ) / 2 );
		}
		
		if( oConfig.y < 0 ) {
			oConfig.y = Math.round( ( screen.width - oConfig.width ) / 2 );
		}
		
		window_params = 
			
			'top=' + oConfig.x + ',' +
			'left=' + oConfig.y + ',' +
			'width=' + oConfig.width + ',' +
			'height=' + oConfig.height + ',' +
			'location=' + boolToYesNo( oConfig.location ) + ',' +
			'menubar=' + boolToYesNo( oConfig.menubar ) + ',' +
			'toolbar=' + boolToYesNo( oConfig.toolbar ) + ',' +
			'hotkeys=' + boolToYesNo( oConfig.hotkeys ) + ',' +
			'fullscreen=' + boolToYesNo( oConfig.fullscreen ) + ',' +
			'resizable=' + boolToYesNo( oConfig.resize ) + ',' +
			'status=' + boolToYesNo( oConfig.status ) + ',' +
			'scrollbars=' + boolToYesNo( oConfig.scroll );
		
		ret_val = window.open( oConfig.url, oConfig.name, window_params );
		
		_created_windows[oConfig.name] = ret_val;
		
	}
	
	return( ret_val );

}
function fillDays(id, id2, value) {
		
		
		
		var f_month = ['01', '03', '05', '07', '08', '10', '12'];
		var empty = new Array(
			new Array("")
		);
		
		fillSelectFromArray(document.getElementById(id2), empty);
		var f_31 = new Array (
			
				new Array (""),
				new Array ("01"),
				new Array ("02"),
				new Array ("03"),
				new Array ("04"),
				new Array ("05"),
				new Array ("06"),
				new Array ("07"),
				new Array ("08"),
				new Array ("09"),
				new Array ("10"),
				new Array ("11"),
				new Array ("12"),
				new Array ("13"),
				new Array ("14"),
				new Array ("15"),
				new Array ("16"),
				new Array ("17"),
				new Array ("18"),
				new Array ("19"),
				new Array ("20"),
				new Array ("21"),
				new Array ("22"),
				new Array ("23"),
				new Array ("24"),
				new Array ("25"),
				new Array ("26"),
				new Array ("27"),
				new Array ("28"),
				new Array ("29"),
				new Array ("30"),
				new Array ("31")
			
		);
		
		var selected_year = document.getElementById( 'fy' ).value;
		
		 if ( selected_year % 4 == 0 && ( selected_year % 100 != 0 || selected_year % 400 == 0 ) ){
			var f_29_limit = 30;
		} else {
			var f_29_limit = 29;
		}
		var f_29 = f_31.slice(0, f_29_limit );
		var f_30 = f_31.slice(0,31);

		try{
			var element = document.getElementById(id);
			
			if (in_array( value, f_month ) ){
			
				fillSelectFromArray(element, f_31)
			}
			else {
				if ( value == "02" ) {
				
					fillSelectFromArray(element, f_29)
				}
				else {
					if (value != "" ) {
					fillSelectFromArray(element, f_30);
					}
					else {
						fillSelectFromArray(element, empty);
					}
				
				}
			}
		}
		catch (e){
			//e
		}
	}
function fillHours(id, day, month, ddHour, ddeHour, seHour, seeHour, skHour, skeHour ) {
	
	
	var element = document.getElementById(id);
	
	
	var date = month+"/"+day+"/2006";
	myDate=new Date(date);
	var j = 0;
	
	hours = new Array();
	
	if (myDate.getDay() == "0" ) {
	
		while (skHour < skeHour) {
		
			hours[j] = new Array(""+skHour);			
			j++;
			skHour ++;			
		}

	}
	else {
		if (myDate.getDay() == "6" ) {
		
			while (seHour < seeHour) {
				hours[j] = new Array(""+seHour);
				j++;
				seHour ++;
			}
		}
		else {
		
			while (ddHour < ddeHour) {
			hours[j] = new Array(""+ddHour);
			j++;
			ddHour ++;
			}
		}
	}
	fillSelectFromArray(element, hours);
}
function in_array( s, ar ) {

	for(var i=0; i < ar.length; i++)
		if(ar[i] == s) return true;

	return false;

}
function fillSelectFromArray(selectCtrl, itemArray ) {
	var i, j;
	this.j = 0;
	// empty existing items
	for (i = selectCtrl.options.length; i >= 0; i--) {
		selectCtrl.options[i] = null; 
	}
	
	if (itemArray != null) {
	// add new items
		for (i = 0; i < itemArray.length; i++) {		
			selectCtrl.options[this.j] = new Option(itemArray[i][0], itemArray[i][0]);												
			this.j++;
		}	
		
	}
}