function $(v,o) { return((typeof(o)=='object'?o:document).getElementById(v)); }
function $S(o) { return((typeof(o)=='object'?o:$(o)).style); }


document.onkeydown = keyDown
function keyDown(e) {
	e=e||event;
	var keycode = e.keyCode ? e.keyCode : e.which ? e.which : null;
   if (keycode==27) {
   	 if ($S('set_resolution_block').display=='')
   	  close_resolution_choose_window();
	 }
}



function show_resolution_choose_block()
{
	$S('hide_screen').display='';
	$S('hide_screen').left='0px';
	$S('hide_screen').top='0px';
	$S('hide_screen').width='100%';
	$S('hide_screen').height=document.body.clientHeight+'px';
	
	$S('set_resolution_block').display='';
	$S('set_resolution_block').top='0px';
	
	loading="<img src=\""+document.forms.param_form_resolution.folder_path.value+"images/loading.gif\"><br>";
	loading+='Please wait ...';
	$('set_resolution_block').innerHTML=loading;
	
	makeRequest(document.forms.param_form_resolution.folder_path.value+'get_resolution_list.php?rand='+Math.random(),resolution_request);
//	$S('set_resolution_block').left=Math.round((document.body.clientWidth-$('set_resolution_block').clientWidth)/4)+'px';
//	$S('set_resolution_block').top=Math.round((document.body.clientHeight-$('set_resolution_block').clientHeight)/6)+'px';
}

function resolution_request()
{
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
        	//var resolution_list=http_request.responseText;
        	var resolution_list = http_request.responseXML;
        	if (!resolution_list) {                //some error here
        		alert('Sorry, error');
        	}
        	else {
        		$('set_resolution_block').innerHTML='';
        		k=0;
        		str_html=''
        		str_html+='<div class=\"choose_resolution_title\">Choose resolutions</div>';
        		
	        	var resolution_type = resolution_list.documentElement.getElementsByTagName("resolution_type");
	   				for (var i = 0; i < resolution_type.length; i++) {
	          	var cur_resolution_type = resolution_type[i];
	          	cur_name_resolution_type=cur_resolution_type.getAttribute("name");
	          	str_html+="<div class=\"resolution_type\">"+cur_name_resolution_type+"<br>";
	          	
	          	var resolution_items=cur_resolution_type.getElementsByTagName("resolution_item");
	          	for (var j = 0; j < resolution_items.length; j++) {
	          		cur_id_resolution=(resolution_items[j].getAttribute("id_resolution"));
	          		cur_name_resolution=(resolution_items[j].getAttribute("name"));
	          		cur_x=(resolution_items[j].getAttribute("x"));
	          		cur_y=(resolution_items[j].getAttribute("y"));
	          		str_html+="<div class=\"choose_resolution_item\" id=\"resolution_"+cur_x+"x"+cur_y+"\"><input type='checkbox' id='id_resolution["+k+"]' value='"+cur_id_resolution+"' checked><label for=\"id_resolution["+k+"]\">"+cur_name_resolution+"</label></div>";
	          		k++;
	          	}
	          	str_html+="</div>";
	          }
	          if (str_html!='') {
	          	str_html+="<div style=\"clear: both;\"></div>";
	          	str_html+="<div class=\"choose_resolution_select_all\"><input onClick=select_unselect_all(this.checked); type='checkbox' id='select_all' value='1' checked><label for=\"select_all\">Select all</label></div>";
	          	str_html+="<br><div class=\"choose_resolution_close\" onClick=submit_resolution();>Submit</div>";
	          	str_html+="<div class=\"choose_resolution_close\" onClick=close_resolution_choose_window();>Close</div>";
	          	$('set_resolution_block').innerHTML=str_html;
	          	select_by_coockie();
	          	highlight_resolution_by_x_y();
							ar_x_y=alertSize();
							$S('set_resolution_block').left=Math.round((ar_x_y[0]-$('set_resolution_block').clientWidth)/2)+'px';
							$S('set_resolution_block').top=Math.round((ar_x_y[1]-$('set_resolution_block').clientHeight)/2)+'px';
	          }
	        }
        }
        else
        {
          alert('There was a problem with the request.');
        }
    }
}

function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  
  return (Array(myWidth,myHeight));
}

function highlight_resolution_by_x_y() {
	var w=screen.width;
	var h=screen.height;
	var d=document.getElementById('resolution_'+w+'x'+h);
	 if (d) {
    d.style.background='#FDFF0F';	 
	 } 
}

function close_resolution_choose_window()
{
	$S('hide_screen').display='none';

	$S('set_resolution_block').display='none';	
}


function select_by_coockie()
{
	resolution_list=ReadCookie('resolution_list');
	if (resolution_list!='') {
		select_unselect_all(false);
		ar=resolution_list.split(",");
		for (var i= 0; i< ar.length; i++) {
			j=0;
			while ($('id_resolution['+j+']')!=null) {
				if ($('id_resolution['+j+']').value==ar[i]) {
					$('id_resolution['+j+']').checked=true;
					break;
				}
				j++;
			}
		}
	}
}

function select_unselect_all(check)
{
	//check=$('select_all').checked;
	i=0;
	while ($('id_resolution['+i+']')!=null) {
		$('id_resolution['+i+']').checked=check;
		i++;
	}	
}

function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function submit_resolution()
{
	i=0;
	resolution_list='';
	is_any_unchecked=false;
	
	while ($('id_resolution['+i+']')!=null) {
		if ($('id_resolution['+i+']').checked==true)
			resolution_list+=$('id_resolution['+i+']').value+',';
		else
			is_any_unchecked=true;
		i++;
	}
	
	if (resolution_list=='') {
		alert('You must choose at least one resolution!');
	}
	else if (is_any_unchecked == true) {
		resolution_list=resolution_list.substring(0,resolution_list.length-1);
		document.cookie ='resolution_list='+resolution_list+'; path=/';
		//window.location.href=window.location.pathname+'?'+Math.random();
		document.forms.param_form_resolution.action=window.location.pathname;
		document.forms.param_form_resolution.method='POST';
		document.forms.param_form_resolution.submit();
	}
	else
	{
		var mydate = new Date();
		mydate.setTime(mydate.getTime() - 1);
		rr=ReadCookie('resolution_list');
		document.cookie = "resolution_list="+rr+";path=/;expires=" + mydate.toGMTString();
		//window.location.href=window.location.pathname+'?'+Math.random();
		document.forms.param_form_resolution.action=window.location.pathname;
		document.forms.param_form_resolution.method='POST';
		document.forms.param_form_resolution.submit();
	}
}
