/**
 * @author jonas
 * @revision 2
 * @date 2009/07/11
 */

// VARIAVEIS DE CONFIGURACAO:
var domain = "http://meuscrap.com.br";
var cgiPath = "cgi-bin/ms3/";
var directory = "site/";

// VARIAVEIS DE USO INTERNO:
var xmlCategories = null;
var xmlTumbsLayouts = null;
var categorieSelected = null;
var layoutSelected = null;
var categoryLayoutSelected = null;

var scrapName = null;
var categories = null;
var layouts = null;

var isIE = false;
var isPublic = true;
var isImageLoaded = false;


function initMainScreen()
{
	updateNewScraps();
	updateNewLayouts();
}


function initScreen1()
{
	if (document.getElementById('imageReceived').innerHTML.length > 10) {
		rmImage(document.getElementById('imageReceived').innerHTML);
	}
}

function pushImageWeb(urlIn)
{
	var url = domain + "/" + cgiPath + "pushImageWeb.cgi?url=" + urlIn;
	var httpReq = httpRequisition();
	
	// Funcao que trata a resposta da requisicao:
	httpReq.onreadystatechange = function () {
		if((httpReq.readyState == 4) && (httpReq.status == 200)) {
	 		/*
	 		document.getElementById('imageReceived').innerHTML = httpReq.responseText;

			// Trata lixo no fim da string.
			if(document.getElementById('imageReceived').innerHTML.indexOf("\r") != -1) {
				document.getElementById('imageReceived').innerHTML = document.getElementById('imageReceived').innerHTML.substring(0, document.getElementById('imageReceived').innerHTML.indexOf("\r"));
			} else if (document.getElementById('imageReceived').innerHTML.indexOf("\n") != -1) {
				document.getElementById('imageReceived').innerHTML = document.getElementById('imageReceived').innerHTML.substring(0, document.getElementById('imageReceived').innerHTML.indexOf("\n"));
			} else if (document.getElementById('imageReceived').innerHTML.indexOf(" ") != -1) {
				document.getElementById('imageReceived').innerHTML = document.getElementById('imageReceived').innerHTML.substring(0, document.getElementById('imageReceived').innerHTML.indexOf(" "));
			}

			window.location = "?page_id=6&imgName=" + document.getElementById('imageReceived').innerHTML ;
*/
			window.location = "?page_id=6&imgName=" + httpReq.responseText ;
		}
	}
		
	httpReq.open("GET", url, true);
	httpReq.send(null);
}
 
 
 function getImage(imageIdIn, imageDestIdIn, sizeIn)
 {
	document.getElementById(imageDestIdIn).src = domain + "/" + cgiPath + "getImage.cgi?imageId=" + imageIdIn + "&size=" + sizeIn;
 }
 
 
 function rmImage(imageIdIn)
 {
 	var url = domain + "/" + cgiPath + "rmImage.cgi?imageId=" + imageIdIn;
	var httpReq = httpRequisition();
	
	// Funcao que trata a resposta da requisicao:
	httpReq.onreadystatechange = function () {
		if((httpReq.readyState == 4) && (httpReq.status == 200)) {
			// Resposta.
		}
	}
		
	httpReq.open("GET", url, true);
	httpReq.send(null);
 }
 
 
 function getCategories()
 {
 	var url = domain + "/" + cgiPath + "getCategories.cgi";
	var httpReq = httpRequisition();

	// Funcao que trata a resposta da requisicao:
	httpReq.onreadystatechange = function () {
		if((httpReq.readyState == 4) && (httpReq.status == 200)) {
			xmlCategories = httpReq.responseXML;
			
			updateCategories(xmlCategories);
		}
	}
		
	httpReq.open("GET", url, true);
	httpReq.send(null);
 }
 
 
 function updateCategories(xmlIn)
 {
	categories = new Array(xmlIn.getElementsByTagName('categorie').length);
	inner = "";

	for (var i = 0; i < xmlIn.getElementsByTagName('categorie').length; i++) {

		categories[i] = new Array(3); // nome; diretório; descricao.

		categories[i][0] = xmlIn.getElementsByTagName('categorie')[i].getAttribute('name');
		categories[i][1] = xmlIn.getElementsByTagName('categorie')[i].getAttribute('directory');
		categories[i][2] = xmlIn.getElementsByTagName('categorie')[i].getAttribute('desc');
		
		addOption(document.getElementById('selectCategory'), String(i), categories[i][0]);
	}
	selectCategorie(0);
 }
 
 
 function selectCategorie(categorieIdx)
 {
 	categorieSelected = categories[categorieIdx];
	
	getInfoLayouts(categorieSelected[1]);
 }
 
 
 function getInfoLayouts(categorieIn)
 {
 	var url = domain + "/" + cgiPath + "getInfoLayouts.cgi?categorieName=" + categorieIn;
	var httpReq = httpRequisition();

	httpReq.onreadystatechange = function () {
		if ((httpReq.readyState == 4) && (httpReq.status == 200)) {
			xmlTumbsLayouts = httpReq.responseXML;
			getTumbsLayouts(xmlTumbsLayouts);
		}
	}
	
	httpReq.open("GET", url, true);
	httpReq.send(null);
 }

 
 function getTumbsLayouts(xmlIn)
 {
	layouts = new Array(xmlIn.getElementsByTagName('layout').length);
	imageList = new Array(xmlIn.getElementsByTagName('layout').length);

	document.getElementById("ulHoverbox").innerHTML = "";
	
	for (var i = 0; i < xmlIn.getElementsByTagName('layout').length; i++) {

		layouts[i] = new Array(5); //
		
		layouts[i][0] = xmlIn.getElementsByTagName('layout')[i].getAttribute('name');
		layouts[i][1] = xmlIn.getElementsByTagName('layout')[i].getAttribute('filename');
		layouts[i][2] = xmlIn.getElementsByTagName('layout')[i].getAttribute('author');
		layouts[i][3] = xmlIn.getElementsByTagName('layout')[i].getAttribute('date');
		layouts[i][4] = xmlIn.getElementsByTagName('layout')[i].getAttribute('desc');

		var urlImage = domain + "/" + directory + "ms-core/layouts/" + categorieSelected[1] + "/thumb" + layouts[i][1];
//		var urlImage = domain + "/inw/meuscrap-3/site/wp-content/themes/insights_meuScrap3.0/ms-core/layouts/" + categorieSelected[1] + "/thumb" + layouts[i][1];

		document.getElementById("ulHoverbox").innerHTML += '<li><a href="javascript:selectLayout(' + String(i) + ');"><img src="' + urlImage + '" alt="Moldura" /><img src="' + urlImage + '" alt="Moldura" class="preview" /></a></li>';
	}
 }
 
 function updateTumbsLayouts(xmlIn)
 {
 	alert(xmlIn);
 }


 function selectLayout(layoutIdx)
 {
 	layoutSelected = layouts[layoutIdx];
	categoryLayoutSelected = categorieSelected;
	
	if (isIE) {
		document.getElementById('framet').style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + domain + "/" + cgiPath + "getLayout.cgi?categoriePath=" + categorieSelected[1] + "&layoutFile=" + layoutSelected[1] + "&thumb=false" + "\');";
	} else {
		showLoading(true);
		document.getElementById('framet').src = domain + "/" + cgiPath + 'getLayout.cgi?categoriePath=' + categorieSelected[1] + '&layoutFile=' + layoutSelected[1] + '&thumb=false';
	}
 }
 
 
 function showLoading(state)
 {
 	if (state) {
		document.getElementById('frame').src = domain + "/" + directory + "ms-core/images/loading.gif";

	} else {
		if (isIE) {
			document.getElementById('frame').src = domain + "/" + directory + "ms-core/images/blank.gif";
			document.getElementById('frame').style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'ms-core/images/mask.png\');";
		} else {
			document.getElementById('frame').src = domain + "/" + directory + "ms-core/images/mask.png";
		}
	}
 }
 
 
function doScrap()
{
 	var url = domain + "/" + cgiPath + "doScrap.cgi";
	url += "?photoName=" + imgName;
	url += "&categorieDir=" + categoryLayoutSelected[1];
	url += "&layoutName=" + layoutSelected[1];
	url += "&scale=" + String(scale);
	url += "&x=" + String(x);
	url += "&y=" + String(y);
//	url += "&isPublic=" + String(isPublic);
	
	var httpReq = httpRequisition();

	httpReq.onreadystatechange = function () {
		if ((httpReq.readyState == 4) && (httpReq.status == 200)) {
			window.location = httpReq.responseText;
		}
	}
	
	httpReq.open("GET", url, true);
	httpReq.send(null);

}


function saveScrap()
{
	if (layoutSelected != null) {
		updateScaleXY();
//		isPublic = document.getElementById('checkIsPublic').checked;
	
		doScrap();
		
	} else {
		alert('Selecione uma moldura ao lado!');
	}
	
}


function updateNewLayouts()
{
	// Pega o xml com os dados dos novos layouts:
	
	// Atribui o nome dos thumbs nos respectivos images:
	for (var i = 0; i < 8; i++) {
		var urlImage = domain + "/" + directory + "layouts/new/thumbcomposicao";
		if (i < 10)
			urlImage += '0'; 
		urlImage += String(i + 1) + ".png";
		document.getElementById("ulHoverboxMuralLayouts").innerHTML += '<li><a href="' + 'javascript:alert(\'Crie um scrap enviando uma foto. Utilize um dos campos acima!\')' + '"><img style="width: 100px; height: 100px;" src="' + urlImage + '" alt="Layout - Montagem" /><img src="' + urlImage + '" alt="Layout - Montagem" class="preview" /></a></li>';
	}
}

function updateNewScraps()
{
 	var url = domain + "/" + cgiPath + "getNewScrap.cgi?num=8";
	var httpReq = httpRequisition();

	httpReq.onreadystatechange = function () {
		if ((httpReq.readyState == 4) && (httpReq.status == 200)) {
			var names = httpReq.responseText.split(',');
			for (var i = 7; i >= 0; i--) {
				var urlImage = domain + "/" + directory + "scraps/" + names[i];
				document.getElementById("ulHoverboxMuralScraps").innerHTML += '<li><a href="' + 'javascript:alert(\'Crie um scrap enviando uma foto. Utilize um dos campos acima!\')' + '"><img style="width: 100px; height: 100px;" src="' + urlImage + '" alt="Mural - Montagem" /><img src="' + urlImage + '" alt="Mural - Montagem" class="preview" /></a></li>';
			}
		}
	}
	
	httpReq.open("GET", url, true);
	httpReq.send(null);
}


function downloadScrap()
{
	if (scrapName == null) {
		alert("Erro: Nome do scrap desconhecido!");
		return;
	}
	
 	var url = domain + "/" + cgiPath + "downloadScrap.cgi?scrapName=" + scrapName;
	var httpReq = httpRequisition();

	httpReq.onreadystatechange = function () {
		if ((httpReq.readyState == 4) && (httpReq.status == 200)) {
			alert(httpReq.responseText);
		}
	}
	
	httpReq.open("GET", url, true);
	httpReq.send(null);
}


function sendMail(scrapName, fromName, fromMail, toName, toMail)
{
	if (scrapName == null) {
		alert("Erro: Nome do scrap desconhecido!");
		return;
	}

 	var url = domain + "/" + cgiPath + "sendMail.cgi?scrapName=" + scrapName;
	url += "&fromName=" + fromName;
	url += "&fromMail=" + fromMail;
	url += "&toName=" + toName;
	url += "&toMail=" + document.getElementById("inputEmailAmigo").value;

	var httpReq = httpRequisition();

	httpReq.onreadystatechange = function () {
		if ((httpReq.readyState == 4) && (httpReq.status == 200)) {
			alert(httpReq.responseText);
		}
	}
	
	httpReq.open("GET", url, true);
	httpReq.send(null);
}


function addOption(selec, val, tex)
{
	var opt = document.createElement('option');
	
	opt.value = val;
	opt.text = tex;
	
	try {
		selec.add(opt, null);	// NS FF
	} catch(e) {
		selec.add(opt); 		// IE
	}
}

