var oForm;
var arInputs;
var arSelects;
var oSendButton;
var oLinkBook;
var oResultDiv
var sLogin;
var oProducerSelect;
var oModelSelect;
var oCheckPriceLink;
var oRecipient;
var oPrefix;
var oCountries;

function activateSendWallpaperStep1(sLoginParam) {
	sLogin = sLoginParam;
	oForm = document.getElementById("formularzTapeta");
	arSelects = oForm.getElementsByTagName("select");
	oSendButton = document.getElementById("buttonWyslij");
	oResultDiv = document.getElementById("blokWyslijTapeteTresc");
	
	oProducerSelect = document.getElementById("producentTelefonu");
	oModelSelect = document.getElementById("modelTelefonu");	

	arInputs = oForm.getElementsByTagName("input");
	
//alert(oIframeDiv.parentNode.style);
	if(sLogin) {
		enableFormStep1();
		updateCreditBalance();
	}
	else
		disableFormStep1();
}


function activateSendWallpaperStep2(sLoginParam) {
	sLogin = sLoginParam;
	oSendButton = document.getElementById("buttonWyslij");
	oForm = document.getElementById("formularzTapeta");
	
	oCheckPriceLink = document.getElementById("kosztWiadomosciLink");
	oRecipient = document.getElementById("odbiorca");
	oPrefix = document.getElementById("prefixKraju");
	
	if(sLogin) 
		enableButton(true, oSendButton, sendWallpaperStep2);
	else
		enableButton(false, oSendButton, sendWallpaperStep2);

	oCountries = document.getElementById("listaKrajow");
	addEventHandler(oCountries, "change", selectCountryPrefix);

	oLinkBook = document.getElementById("linkPokazKsiazke");
	enableLink(oLinkBook, loadPhoneBook);
	activatePhoneBook(restoreLink);
	activatePriceChecking();
}

function getSmsType() {
	return 5;
}


function activatePriceChecking() {
	addEventHandler(oCheckPriceLink, "click", getPrice);
	addEventHandler(oRecipient, "keyup", restoreLink);	
	addEventHandler(oCountries, "change", restoreLink);	
	addEventHandler(oCheckPriceLink, "click", preventDefaultEvent);
}

function enableFormStep1() {
	for(var i=0; i<arInputs.length; i++) {
		arInputs[i].disabled = null;
	}
	
	for(var i=0; i<arSelects.length; i++) {
		arSelects[i].disabled = null;
	}
	
	enableButton(true, oSendButton, sendWallpaperStep1);
	addEventHandler(oProducerSelect, "change", setModelField);
	addEventHandler(oModelSelect, "change", setWallpaperSize);
}

function disableFormStep1() {
	for(var i=0; i<arInputs.length; i++) {
		arInputs[i].disabled = "disabled";
	}
	for(var i=0; i<arSelects.length; i++) {
		arSelects[i].disabled = "disabled";
	}	

	enableButton(false, oSendButton, sendWallpaperStep1);
}




/*******/


function setModelField(oEvent)
{
	var sProducer = oProducerSelect.options[oProducerSelect.selectedIndex].value;

	var arNokiaLabels = new Array ("-- Model --","2650","3100","3108","3120","3200","3220","3230","3300","3510i","3530","3560","3650","3660","5100","5140","6010","6020","6021","6030","6100","6101","6103","6108","6170","6220","6230","6230i","6600","6610","6610i","6620","6630","6650","6670","6680","6681","6800","6810","6820","6822","7200","7210","7250","7250i","7260","7270","7600","7650","8800","8910i","9300","9500","N-Gage");
	var arNokiaValues = new Array ("","n40","n40","n40","n40","n40","n40","n40","n40","n30","n30","n30","n60","n60","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n60","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n40","n60","n40","n30","n40","n40","n60");
	
	var arSiemensLabels = new Array ("-- Model --","A60","A62","A65","C60","C62","C65","C66","CF62","CFX65","CT65","CX65","CX70","CXT65","M55","M56","M65","MC60","S55","S65","SK65","SL55","SL65","ST60","SX1");
	var arSiemensValues = new Array ("","s101x80","s101x80","s101x80","s101x80","s128x128","s130x130","s128x128","s130x130","s128x160","s130x130","s132x176","s132x176","s132x176","s101x80","s101x80","s132x176","s101x80","s101x80","s132x176","s132x176","s101x80","s130x130","s120x160","s176x220");

	var arSagemLabels = new Array ("-- Model --","MY X-5m","My X-2","MY X3-2","MY X-5");
	var arSagemValues = new Array ("","s101x80","s101x80","s101x80","s101x80");

	var arMotorolaLabels = new Array ("-- Model --","E398","L6","T720","T720i","T722i","T725","V300");
	var arMotorolaValues = new Array ("","s176x220","s120x160","s120x160","s120x160","s120x160","s120x160","s176x220");

	var arAlcatelLabels = new Array ("-- Model --","OneTouch 535");
	var arAlcatelValues = new Array ("","s128x128");
	
	var arSamsungLabels = new Array ("-- Model --","SGH-E570","X-480","X-660");
	var arSamsungValues = new Array ("","s176x220","s128x160","s128x160");
	
	var arMitsubishiLabels = new Array ("-- Model --","Trium Eclipse");
	var arMitsubishiValues = new Array ("","s128x128");
	
	var arSonyEricssonLabels = new Array ("-- Model --","J210i","K700i","K750i","T68i","T230","T630","W800");
	var arSonyEricssonValues = new Array ("","s128x128","s176x220","s176x220","s101x80", "s101x80","s128x160","s176x220");
	
	var arLgLabels = new Array ("-- Model --","C3310");
	var arLgValues = new Array ("","s128x160");


	removeAllOptions(oModelSelect);

	if (sProducer == "Nokia") 	{ 
		for (var i = 0; i < arNokiaLabels.length; i++) {
			addOptionToList(oModelSelect, arNokiaLabels[i], arNokiaValues[i]);
		}
	}
	else if (sProducer == "Siemens") 	{ 
		for (var i = 0; i < arSiemensLabels.length; i++) {
			addOptionToList(oModelSelect, arSiemensLabels[i], arSiemensValues[i]);
		}
	}
	else if (sProducer == "Sagem") 	{ 
		for (var i = 0; i < arSagemLabels.length; i++) {
			addOptionToList(oModelSelect, arSagemLabels[i], arSagemValues[i]);
		}
	}
	else if (sProducer == "Motorola") 	{ 
		for (var i = 0; i < arMotorolaLabels.length; i++) {
			addOptionToList(oModelSelect, arMotorolaLabels[i], arMotorolaValues[i]);
		}
	}
	else if (sProducer == "Alcatel") 	{ 
		for (var i = 0; i < arAlcatelLabels.length; i++) {
			addOptionToList(oModelSelect, arAlcatelLabels[i], arAlcatelValues[i]);
		}
	}
	else if (sProducer == "Samsung") 	{ 
		for (var i = 0; i < arSamsungLabels.length; i++) {
			addOptionToList(oModelSelect, arSamsungLabels[i], arSamsungValues[i]);
		}
	}
	else if (sProducer == "Mitsubishi") 	{ 
		for (var i = 0; i < arMitsubishiLabels.length; i++) {
			addOptionToList(oModelSelect, arMitsubishiLabels[i], arMitsubishiValues[i]);
		}
	}
	else if (sProducer == "Sony Ericsson") 	{ 
		for (var i = 0; i < arSonyEricssonLabels.length; i++) {
			addOptionToList(oModelSelect, arSonyEricssonLabels[i], arSonyEricssonValues[i]);
		}
	}	
	else if (sProducer == "Lg") 	{ 
		for (var i = 0; i < arLgLabels.length; i++) {
			addOptionToList(oModelSelect, arLgLabels[i], arLgValues[i]);
		}
	}	
	else {
		addOptionToList(oModelSelect, "-- Model --", "");
	}
}

function resetWallpaperSize() {
	setWallpaperSize(null);
}

function setWallpaperSize(oEvent)
{
	var sValue = "";
	if(oEvent) {
		var oEventSrc = getEventSrc(oEvent);
		sValue = oEventSrc.value;
	}
	else {
		sValue = oModelSelect.options[oModelsSelect.selectedIndex].value;
	}

	var oIframeDiv = document.getElementById("wierszImgEditor");

	document.body.fnOnChange = resetWallpaperSize;
	var arSize = new Array();
	if(sValue.indexOf("n") != -1) {
		if(sValue == "n30") {
			arSize[0] = 96; 
			arSize[1] = 65;
		}
		else if (sValue == "n40") {
			arSize[0] = 128; 
			arSize[1] = 128;
		}
		else if (sValue == "n60") {
			arSize[0] = 174; 
			arSize[1] = 132;
		}
	}
	else {
		sValue = sValue.replace("s", "");
		arSize = sValue.split("x");
	}
	setFrameParams(arSize[0], arSize[1], 300, 150); 

	if(sValue != "") {
		oIframeDiv.style.display = "block";
	}
	else {
		oIframeDiv.style.display = "none";
	}
	

/*	var oIframeDiv = document.getElementById("iframeUpload");

	document.body.fnOnChange = resetWallpaperSize;
	var oIframe = document.getElementById("iframeUpload0");
	
	if(!oIframeDiv || !oIframe)
		return;
	
	var oSizeField = oIframe.contentWindow.document.getElementById("wymiaryTapetyInput");
	
	if (sValue != "") {
		oSizeField.value = sValue;
	}
	else {
		oSizeField.value = "";
	}

	if(oSizeField.value != "") {
		oIframeDiv.style.display = "block";
	}
	else {
		oIframeDiv.style.display = "none";
	}
	*/

}

function setImageInfo() {
	var oHiddenX = document.getElementById("imageX");
	var oHiddenY = document.getElementById("imageY");
	var oHiddenWidth = document.getElementById("imageWidth");
	var oHiddenHeight = document.getElementById("imageHeight");
	var oHiddenFile = document.getElementById("imageName");
	if(oHiddenFile) {
		var arFrame = getSelectedFrame();
		oHiddenFile.value = arFrame[0];
		oHiddenX.value = arFrame[1];
		oHiddenY.value = arFrame[2];
		oHiddenWidth.value = arFrame[3];
		oHiddenHeight.value = arFrame[4];
	}
}

/* send logo */

function getRequestStringStep1() {
	setImageInfo();
	var oFileId = document.getElementById("imageName");

	if(!oModelSelect || oModelSelect.value == "") {
		if (sLanguage == "uk")
			alert("Select recipient's phone model.");
		else
			alert("Wskaż model telefonu.");
		return;
	}
	if(!oFileId || oFileId.value == "") {
		if (sLanguage == "uk")
			alert("Please select file with photo.");
		else
			alert("Wskaż plik graficzny.");
		return;
	}

	var sRequest = "fileId=" + encodeURIComponent(oFileId.value);
	sRequest += "&imageWidth=" + encodeURIComponent(document.getElementById("imageWidth").value);
	sRequest += "&imageHeight=" + encodeURIComponent(document.getElementById("imageHeight").value);
	sRequest += "&imageX=" + encodeURIComponent(document.getElementById("imageX").value);
	sRequest += "&imageY=" + encodeURIComponent(document.getElementById("imageY").value);
	sRequest += "&size=" + encodeURIComponent(oModelSelect.options[oModelSelect.selectedIndex].value);

	return sRequest;
}

function sendWallpaperStep1()
{
	var sRequest = getRequestStringStep1();
	if(!sRequest)
		return;
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		enableButton(false, oSendButton, sendWallpaperStep1);
		showProgress(true, "blokWyslijTapetePostep", "blokWyslijTapeteTresc");
		xmlHttp.open("POST", "engine/sendWallpaper.php", true);  
		xmlHttp.onreadystatechange = getSendWallpaperStep1Results;
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(sRequest);
	}
	else
	    setTimeout('sendWallpaperStep1()', 1000);
}

// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function getSendWallpaperStep1Results() 
{
	// kontynuuje jedynie jesli transakcja zostala zakonczona
	if (xmlHttp.readyState == 4) 
	{
  		// status 200 oznacza pomyslne ukonczenie transakcji
		if (xmlHttp.status == 200) 
		{	
			// wyodrebnia wiadomosc wyslana z serwera
			sResponse = xmlHttp.responseText;
			oResultDiv.innerHTML = sResponse;
			if(oResultDiv.firstChild.id == "step1")
				activateSendWallpaperStep1(sLogin);
			else
				activateSendWallpaperStep2(sLogin);
			showProgress(false, "blokWyslijTapetePostep", "blokWyslijTapeteTresc");
		} 
		// dla statusu protokolu HTTP innego niz 200 zglasza blad
		else 
		{
			alert("Wystapil blad podczas uzyskiwania dostepu do serwera: " + xmlHttp.statusText);
		}
	}
}


function getRequestStringStep2() {
//	setImageInfo();
	var oFile = document.getElementById('idPliku');
//	var oRecipient = document.getElementById('odbiorca');
//	var oPrefix = document.getElementById('prefixKraju');
	if(!oRecipient || oRecipient.value == "") {
		if (sLanguage == "uk")
			alert("Enter recipient number.");
		else
			alert("Określ odbiorcę wiadomości.");
		return null;
	}
	if(!oFile || oFile.value == "") {
		if (sLanguage == "uk")
			alert("Please select file with photo.");
		else
			alert("Wskaż plik graficzny.");
		return null;
	}

	var sRequest = "send=1&fileId=" + encodeURIComponent(oFile.value) + "&";
	if(oPrefix)
		sRequest += "recipient=" + encodeURIComponent(oPrefix.value + '|' + oRecipient.value);
	else
		sRequest += "recipient=" + encodeURIComponent(oRecipient.value);	


	return sRequest;
}

function sendWallpaperStep2()
{
	var sRequest = getRequestStringStep2();
	if(!sRequest)
		return;
	
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		enableButton(false, oSendButton, sendWallpaperStep2);
		showProgress(true, "blokWyslijTapetePostep", "blokWyslijTapeteTresc");
		xmlHttp.open("POST", "engine/sendWallpaper.php", true);  
		xmlHttp.onreadystatechange = getSendWallpaperStep2Results;
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(sRequest);
	}
	else
	    setTimeout('sendWallpaperStep2()', 1000);
}


function getSendWallpaperStep2Results() 
{
	// kontynuuje jedynie jesli transakcja zostala zakonczona
	if (xmlHttp.readyState == 4) 
	{
  		// status 200 oznacza pomyslne ukonczenie transakcji
		if (xmlHttp.status == 200) 
		{	
			// wyodrebnia wiadomosc wyslana z serwera
			sResponse = xmlHttp.responseText;
			oResultDiv.innerHTML = sResponse;

			if(oResultDiv.firstChild.id == "topup" || (oResultDiv.childNodes[1] && oResultDiv.childNodes[1].id == "topup"))
				activatePacksList();
			else
				activateSendWallpaperStep1(sLogin);
/*			enableButton(false, oSendButton, sendWallpaperStep2);
			enableButton(true, oSendButton, sendWallpaperStep1); */
			showProgress(false, "blokWyslijTapetePostep", "blokWyslijTapeteTresc");
		} 
		// dla statusu protokolu HTTP innego niz 200 zglasza blad
		else 
		{
			alert("Wystapil blad podczas uzyskiwania dostepu do serwera: " + xmlHttp.statusText);
		}
	}
}