var color = 0;

var xmlResponse = new Array();
var registrXmlHttp = new Array();

registrXmlHttp[0] = createXmlHttpRequestObject();
registrXmlHttp[1] = createXmlHttpRequestObject();
registrXmlHttp[2] = createXmlHttpRequestObject();
registrXmlHttp[3] = createXmlHttpRequestObject();
registrXmlHttp[4] = createXmlHttpRequestObject();

var registrTarget = new Number();
var form_update = new Array();

var stepCategory;
var errorReg = new Array();

function ajaxSendData (name, data) {



	this.url = function(){
	
		switch (typeof(data)) {
		
			case 'number':
				
				return "&" + name + "=" + data;
				
				
			break;
			
			case 'object':
				if (typeof(name) == 'string') {
					var url = '&' + name + "=";
					for (var d = 0; d < data.length; d++) {
						url += data[d] + ";";
					}
					return url.substr(0, url.length - 1);
				}
				
				if (typeof(name) == 'object') {
					var url = '&';
					for (var d = 0; d < data.length; d++) {
						url += name[d]+ '='+data[d] + "&";
					}
					return url.substr(0, url.length - 1);
				}
				
			break;
			
			default:
			
				return '';
				
			break;
				
		}
		
	}
	
	
		this.post = function(){
	
		switch (typeof(data)) {
		
			case 'number':
				
				return  name + "=" + data;
				
				
			break;
			
			case 'object':
				if (typeof(name) == 'string') {
					var url =  name + "=";
					for (var d = 0; d < data.length; d++) {
						url += data[d] + ";";
					}
					return url.substr(0, url.length - 1);
				}
				
				if (typeof(name) == 'object') {
					var url = '';
					for (var d = 0; d < data.length; d++) {
						url += name[d]+ '='+data[d] + "&";
					}
					return url.substr(0, url.length - 1);
				}
				
			break;
			
			default:
			
				return '';
				
			break;
				
		}
		
	}
}


var actMenu = '';
var actTarget = '';

function error (msg) {
	document.getElementById('errorDisplay').innerHTML = msg;
	setTimeout(function(){document.getElementById('errorDisplay').innerHTML = '';},10000);
	
}

function createXmlHttpRequestObject() 
{

  var xmlHttp;

  try
  {

    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {

    var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
      'MSXML2.XMLHTTP.5.0',
      'MSXML2.XMLHTTP.4.0',
      'MSXML2.XMLHTTP.3.0',
      'MSXML2.XMLHTTP',
      'Microsoft.XMLHTTP');

    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
 
      { 

        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {
	  	error("Błąd: " + e.toString());
	  }
    }
  }

  if (!xmlHttp)
    error("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}


function xmlProsessregistr(target,pass,data)
{


	
	

		 	  if (registrXmlHttp[target])
  {

    try
    {
		
		
			for (var e = 0; e < errorReg.length; e++) {

				if (document.getElementById('box_new_' + errorReg[e])) {
					document.getElementById('box_new_' + errorReg[e]).style.backgroundColor = 'transparent';
					document.getElementById('box_new_' + errorReg[e]).style.height = (parseFloat(document.getElementById('box_new_' + errorReg[e]).style.height) - 10) + 'px';
				}
				if (document.getElementById('msg_new_' + errorReg[e])) {
					document.getElementById('msg_new_' + errorReg[e]).innerHTML = '';
				}
			}
			var newError = new Array();
			errorReg = newError;
			
		var add_url = '';
		
			if (document.getElementById('regArtist').checked == true) {
				add_url += '&reg_art=1';
			}
			if (document.getElementById('regComm').checked == true) {
				add_url += '&reg_comm=1';
			}
	
		
			var xmlPath = 'http://www.mutu.pl/xml/' + pass + '/registr/' + target + '.xml';
			
			
		
				registrTarget = target;
				var url = data.post();
				registrXmlHttp[target].open("POST", xmlPath, true);
				registrXmlHttp[target].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   				registrXmlHttp[target].setRequestHeader("Content-length", url.length+add_url.length);
   				registrXmlHttp[target].setRequestHeader("Connection", "close");
			
			registrXmlHttp[target].onreadystatechange = registrHandleRequestStateChange;
			
			registrXmlHttp[target].send(url+add_url);
		
		
    }

    catch (e)
    {
      error("Nie mogę połączyć się z serwerem:\n" + e.toString());
    }
  }
		
	
  
  
  
}


function xmlProsesscategory(pass,id,step)
{
	

	
	

		 	  if (registrXmlHttp[3])
  {

    try
    {
		
		
			
		

			stepCategory = step;
			var xmlPath = 'http://www.mutu.pl/xml/' + pass + '/registr/3.xml?id='+id+'&step='+step;
			
			
		
				registrTarget = 3;
			
				registrXmlHttp[3].open("GET", xmlPath, true);

			
			registrXmlHttp[3].onreadystatechange = registrHandleRequestStateChange;
			
			registrXmlHttp[3].send(null);
		
		
    }

    catch (e)
    {
      error("Nie mogę połączyć się z serwerem:\n" + e.toString());
    }
  }
		
	
  
  
  
}


function registrHandleRequestStateChange()
{

	
		if (registrXmlHttp[registrTarget].readyState == 4) {
		
		
			if (registrXmlHttp[registrTarget].status == 200) {
				try {
				
					registrHandleServerResponse(registrTarget);
				} 
				catch (e) {
				
					error("Błąd odczytu odpowiedzi: " + e.toString());
				}
			}
			else {
			
				error("Pojawił się problem w uzyskaniu danych:\n" +
				registrXmlHttp[registrTarget].statusText);
			}
		}
	
}

 

function registrHandleServerResponse(target) {

	registrXmlResponse = registrXmlHttp[target].responseXML;

		registrXmlRoot = registrXmlResponse.documentElement;
		registrGetContent(target, registrXmlRoot);
	
}


function formSave(prefix,target,inputs,texts,selects) {

	var dataName = new Array();
	var dataVal = new Array();
	if (prefix != 'new') {
	
		for (var i = 0; i < inputs.length; i++) {
			a = dataVal.length;
			dataVal[a] = document.getElementById(prefix + '_' + inputs[i]).value;
			dataName[a] = inputs[i];
		}
		
		for (var t = 0; t < texts.length; t++) {
			a = dataVal.length;
			
			dataVal[a] = document.getElementById(prefix + '_' + texts[t]).value;
			dataName[a] = texts[t];
		}
		
		for (var s = 0; s < selects.length; s++) {
			a = dataVal.length;
			sel = document.getElementById(prefix + '_' + selects[s]);
			
			dataVal[a] = sel.options[sel.selectedIndex].value;
			dataName[a] = selects[s];
		}
	} else {
		
		
		for (var i = 0; i < inputs.length; i++) {
			if (document.getElementById(prefix + '_' + inputs[i]).name == 'comm') {
				if (document.getElementById('regComm').checked==true) {
					var a = dataVal.length;
					dataVal[a] = document.getElementById(prefix + '_' + inputs[i]).value;
					dataName[a] = inputs[i];
				}
			}
			
			if (document.getElementById(prefix + '_' + inputs[i]).name == 'artist') {
				if (document.getElementById('regArtist').checked==true) {
					var a = dataVal.length;
					dataVal[a] = document.getElementById(prefix + '_' + inputs[i]).value;
					dataName[a] = inputs[i];
				}
			}
			if (document.getElementById(prefix + '_' + inputs[i]).name == '') {
				var a = dataVal.length;
				dataVal[a] = document.getElementById(prefix + '_' + inputs[i]).value;
				dataName[a] = inputs[i];
			}
		}
		
		for (var t = 0; t < texts.length; t++) {
			if (document.getElementById('regArtist').checked == true) {
				var a = dataVal.length;
				
				dataVal[a] = document.getElementById(prefix + '_' + texts[t]).value;
				dataName[a] = texts[t];
			}
		}
		
		for (var s = 0; s < selects.length; s++) {
			if (document.getElementById(prefix + '_' + selects[s]).name == 'comm') {
				if (document.getElementById('regComm').checked == true) {
					var a = dataVal.length;
					sel = document.getElementById(prefix + '_' + selects[s]);
					try {
						dataVal[a] = sel.options[sel.selectedIndex].value;
						dataName[a] = selects[s];
					} 
					catch (e) {
					}
				}
			}
			if (document.getElementById(prefix + '_' + selects[s]).name == 'artist') {
				if (document.getElementById('regArtist').checked == true) {
					var a = dataVal.length;
					sel = document.getElementById(prefix + '_' + selects[s]);
					try {
						dataVal[a] = sel.options[sel.selectedIndex].value;
						dataName[a] = selects[s];
					} 
					catch (e) {
					}
				}
			}
			if (document.getElementById(prefix + '_' + selects[s]).name == '') {
				var a = dataVal.length;
					sel = document.getElementById(prefix + '_' + selects[s]);
					try {
						dataVal[a] = sel.options[sel.selectedIndex].value;
						dataName[a] = selects[s];
					} 
					catch (e) {
					}
			}
		}
	
	}
	data = new  ajaxSendData(dataName,dataVal);
	xmlProsessregistr(target,pass,data);
	
}

function selectInputs (array,selected,title,value) {
	var html = '';
	var sel = '';
	for (var a = 0; a < array.length; a++) {
		var val = array[a].getElementsByTagName(value).item(0).firstChild.data;
		var tit = array[a].getElementsByTagName(title).item(0).firstChild.data;
		if (val==selected) sel = 'selected'; else sel = '';
		html += '<option value="' + val + '" '+sel+'>' + tit + '</option>';
		
	}
	if (array.length==0) {
		html += '<option value="0" selected>wszystkie</option>';
	}
	
	return html;
}



function registrGetContent(target, xml){


	
	
	
	switch (target) {
	

		case 0: 
			var prefix = "msg_new_";
			var prefix_z = "box_new_";
			var prefix_m = "msg_new_";
			var global = document.getElementById('global_message');
			global.innerHTML = '<img style="vertical-align:bottom;" src="gfx/info.png"> By aktywować w swoim koncie dostęp do <i>galerii.Mutu</i>, wypełnij poniższy formularz.';
		
	var message = xml.getElementsByTagName("message");
	
	
	if (message.length > 0) {
		
		
		for (var m = 0; m < message.length; m++) {
			
			if (message[m].getElementsByTagName("ok").length > 0) {
			
				var div = document.getElementById('registr_new');
				
				div.innerHTML = '<p><span  style="font-size:13px;font-weight:normal;"><a onClick="returnToStart(\'registr_new\')" href="javascript:void(0)">kliknij, by zmienić wybór</a></span></p>';
				div.innerHTML += '<p style="margin-top:15px;clear:both;width:90%"><div id="global_message" style="font-size:13px;font-weight:bold;clear:both"><img style="vertical-align:bottom;" src="gfx/ok.png"> '+message[m].getElementsByTagName("ok").item(0).firstChild.data+'</div></p>';
				div.innerHTML += '<p style="margin-top:15px;clear:both;width:90%;font-size:11px;">Pamiętaj by uzupełnić wszystkie niezbędne informacje w panelu użytkownika.<br/>Jeżeli rejestrowali Państwo również firmę prosimy o uzupełnienie danych wizytówki by mogła ona być poprawnie prezentowana w pasażu.<br/> Jeśli zechcieli Państwo uczestniczyć w gronie artystów proszę pamiętać by uzupełnić wszelkie niezbędne informacje o sobie oraz wysłać swój awatar.</p>';
			}
			else {
				if (message[m].getElementsByTagName("error").length > 0) {
					var errors = message[m].getElementsByTagName("error");
					alert("Mutu: Wystąpiły błądy formularza.");
					for (var e = 0; e < errors.length; e++) {
							var name = errors[e].getElementsByTagName("name").item(0).firstChild.data;
							var mess = errors[e].getElementsByTagName("mess").item(0).firstChild.data;
							if (name != 'global') {
								
							
								errorReg[errorReg.length] = name;
								var zone = document.getElementById(prefix_z + name);
								var msg = document.getElementById(prefix_m + name);
								if (msg) 
									msg.innerHTML = mess;
								
								if (zone) {
									
								
										
									
										zone.style.backgroundColor = 'rgb(192, 126, 126)';
										zone.style.height = (parseFloat(zone.style.height) + 10) + 'px';
									
								}
							} else {
								var global = document.getElementById('global_message');
								
								global.innerHTML = '<span style="float:left;padding-left:10px;font-size:15px;font-weight:bold;"><img src="../gfx/error.png"> ' + mess;
								
							}
					}
				
				}
			}
			
		}
		
	}
			
			
			
			
			
			
			
			
			
			break;

			
		case 1: 
			var prefix = "msg_act_";
			var prefix_z = "box_act_";
			var prefix_m = "msg_act_";
			var global = document.getElementById('global_message_art');
			global.innerHTML = '<img style="vertical-align:bottom;" src="gfx/info.png"> By aktywować w swoim koncie dostęp do <i>galerii.Mutu</i>, wypełnij poniższy formularz.';
			var divs = document.getElementById('registr_active').getElementsByTagName("div");
			for (var d = 0; d < divs.length; d++) {

				if (divs[d].style.backgroundColor == 'rgb(192, 126, 126)') {
					divs[d].style.backgroundColor = 'transparent';
					divs[d].style.height = (parseFloat(divs[d].style.height) - 10) + 'px';
					if (document.getElementById(prefix_m+divs[d].id.substr(8)))
					document.getElementById(prefix_m+divs[d].id.substr(8)).innerHTML='';
				}
			}
	var message = xml.getElementsByTagName("message");
	
	
	if (message.length > 0) {
		
		
		for (var m = 0; m < message.length; m++) {
			
			if (message[m].getElementsByTagName("ok").length > 0) {
			
				var div = document.getElementById('registr_active');
				
				div.innerHTML = '<p><span  style="font-size:13px;font-weight:normal;"><a onClick="returnToStart(\'registr_active\')" href="javascript:void(0)">kliknij, by zmienić wybór</a></span></p>';
				div.innerHTML += '<p style="margin-top:15px;clear:both;width:90%"><div id="global_message" style="font-size:13px;font-weight:bold;clear:both"><img style="vertical-align:bottom;" src="gfx/ok.png"> '+message[m].getElementsByTagName("ok").item(0).firstChild.data+'</div></p>';
				div.innerHTML += '<p style="margin-top:15px;clear:both;width:90%;font-size:11px;">By uzyskać dostęp do narzędzi artysty, wyloguj się z konta a następnie zaloguj się ponownie.<p>Pamiętaj by uzupełnić wszelkie niezbędne informacje o sobie oraz wysłać swój awatar.</p>';
			}
			else {
					if (message[m].getElementsByTagName("error").length > 0) {
					var errors = message[m].getElementsByTagName("error");
					alert("Galeria.Mutu: Wystąpiły błądy formularza.");
					for (var e = 0; e < errors.length; e++) {
							var name = errors[e].getElementsByTagName("name").item(0).firstChild.data;
							var mess = errors[e].getElementsByTagName("mess").item(0).firstChild.data;
							if (name != 'global') {
								
								
								errorReg[errorReg.length] = name;
								var zone = document.getElementById(prefix_z + name);
								var msg = document.getElementById(prefix_m + name);
								if (msg) 
									msg.innerHTML = mess;
								
								if (zone) {
									
								
										
									
										zone.style.backgroundColor = 'rgb(192, 126, 126)';
										zone.style.height = (parseFloat(zone.style.height) + 10) + 'px';
									
								}
							} else {
								var global = document.getElementById('global_message_art');
							
								global.innerHTML = '<span style="float:left;padding-left:10px;font-size:15px;font-weight:bold;"><img src="../gfx/error.png"> ' + mess;
								
							}
					}
				
				}
			}
			
		}
		
	}
			
			
			
			
			
			
			
			
			
			break;
		
			case 3:
				
					
					var category = xml.getElementsByTagName("category");
					var select = document.getElementById('new_category_'+stepCategory);
					var select2 = document.getElementById('act_comm_category_'+stepCategory);
				
					var options = select.getElementsByTagName("option");
					var options2 = select2.getElementsByTagName("option");
				
					  for (var i=options.length-1; i >=0; i--)
  						 {
      					select.removeChild(options[i]);
  					 }
				
				 for (var i=options2.length-1; i >=0; i--)
  						 {
      					select2.removeChild(options2[i]);
  					 }
					for (var c = 0; c < category.length; c++) {
						var text =  category[c].getElementsByTagName("nazwa_kategorii").item(0).firstChild.data;
						var id =  category[c].getElementsByTagName("kategorie_firm_id").item(0).firstChild.data;
						var option = document.createElement("OPTION");
						option.title = text;
						option.text = text;
						option.value = id;
							if (option) {
							try {
							select.add(option, null);
						
				
							} 
							catch (e) {
							select.add(option);
						
				
							}
					
						}
						
						var option2 = document.createElement("OPTION");
						option2.title = text;
						option2.text = text;
						option2.value = id;
							if (option2) {
							try {
							select2.add(option2, null);
						
				
							} 
							catch (e) {
							select2.add(option2);
						
				
							}
					
						}
					
					
					
					}
					
					
					
				
			
			break;
			
	}
	
	
	
	
	
	
}

function clearSelect (id) {
	
					 	var select = document.getElementById('new_category_'+id);
						var options = select.getElementsByTagName("option");
						 for (var i=options.length-1; i >=0; i--)
  							 {
      							select.removeChild(options[i]);
  					 		}
					 
}

function viewSelected(select,prefix){
		var options = select.getElementsByTagName("option");
						 for (var i=options.length-1; i >=0; i--)
  							 {
							 	if (options[i].selected == true)
      							var val = options[i].text;
  					 		}
							
							if (val) document.getElementById(prefix+'_show_category').value = val;
}

