var workListImages;//array de todas las thumbs
var workListNum = -1;//contador de thumbs cargadas
var workImg;//objeto de imagen que usan las thumbs para cargarse
var workListMargin = 50;//distancia desde el margen left del browser
var workItemWidth = 362;//ancho thumb
var workItemSpace = 18;//espacio entre thumbs
var workMaskWidth = 0;//ancho de la máscara
var workListWidth = 0;//ancho de la lista de thumbs
var workListX = 0;//posicion en eje x de la lista (scroll)
var workSubmenuIndex = -1;//filtro que estoy usando -> -1 ningun filtro
//
function loadWorkList(dataStr){
	//inicializa la lista con las imagenes que vienen desde php en dataStr
	workListFirstRun = false;
	workListNum = -1;
	workSubmenuIndex = -1;
	workListImages = new Array();
	//recibo las imagenes del php
	var images = dataStr.split(";");
	for(var i=0;i<images.length;i++){
		workListImages.push(images[i]);
	}
	removeBg();//quito el background porque esta seccion no lo usa
	for(var i=0;i<menu[0].submenu.length;i++){
		if(menu[0].submenu[i].url == $.address.path()){
			workSubmenuIndex = i;
			if(menu[0].submenu[i].memoXlist == undefined){
				menu[0].submenu[i].memoXlist = 0;
			}
			break;
		}
	}
	initWorkListControllers();
	resizeWorkList(false);
	//empiezo la carga de imagenes en secuencia
	workListItemLoadImage();	
	$("#workListTitle span").css({color:mainColor});
	$(".removFavButtonBg").css({opacity:0.6,backgroundColor:mainColor});
	if(dataStr == ""){
		$("#favAlert").css({display:"block"});	
		$("#workListControllers").css({display:"none"});
	}else{
		$("#favEmailButton").css({display:"block",color:mainColor,cursor:"pointer",opacity:0}).delay(200).animate({opacity:1},200);	
	}
	addFavsFormEvents();
}
function resizeWorkList(animate){
	//ajusto el ancho del contenedor de la lista de works para que no se active el scroll
	var itemWidthTotal = workItemWidth+workItemSpace;
	workMaskWidth = Math.floor((WINDOW_WIDTH-workListMargin)/itemWidthTotal)*itemWidthTotal-workItemSpace;
	if(workMaskWidth<workItemWidth){
		workMaskWidth=workItemWidth;
	}
	var maxScroll = -(workListWidth-workMaskWidth);
	var holderLeft = $("#workList #holder").position().left;
	$("#workList").stop(true);
	$("#workList #holder").stop(true);
	if(animate){
		$("#workList").delay(1000).animate({width:workMaskWidth},300,function(){
			//reposiciono el footer por si se activó el scroll H
			WINDOW_HEIGHT = $(window).height();
			reposFooter();	
		});
		//reposiciono la lista si hace falta
		if(holderLeft < maxScroll && holderLeft < 0){
			workListMemoX();
			$("#workList #holder").delay(1000).animate({left:maxScroll},300);
		}
	}else{
		$("#workList").css({width:workMaskWidth});
		if(holderLeft < maxScroll && holderLeft < 0){
			$("#workList #holder").css({left:maxScroll});
			workListMemoX();
			favListPosition = maxScroll;//si estoy en la lista de favs lo guardo en memoria para el reload
		}
	}
	testWorkControllersVisibility();
}
function getWorkListMaxScroll(num){
	tmpWidth = Math.ceil(num/2)*(workItemWidth+workItemSpace)-workItemSpace;
	var itemWidthTotal = workItemWidth+workItemSpace;
	workMaskWidth = Math.floor((WINDOW_WIDTH-workListMargin)/itemWidthTotal)*itemWidthTotal-workItemSpace;
	if(workMaskWidth<workItemWidth){
		workMaskWidth=workItemWidth;
	}
	var maxScroll = -(tmpWidth-workMaskWidth);
	return maxScroll;
}
function initWorkListControllers(){
	//le asigno eventos y le doy fade-in a las flechas
	$("#workListControllers").css({opacity:0});
	$("#workListControllers").stop(true).delay(100).animate({opacity:1},100);
	$("#workListControllers #prev").css({cursor:"auto",opacity:0.3});
	$("#workListControllers #prev #on").css({display:"block",opacity:0});
	$("#workListControllers #prev").mouseover(function() {
		if($("#workListControllers #prev").css("cursor") == "pointer"){
			$(this).children("#off").animate({opacity:0},150);
			$(this).children("#on").animate({opacity:1},150);
		}
	});
	$("#workListControllers #prev").mouseout(function() {
		if($("#workListControllers #prev").css("cursor") == "pointer"){
			$(this).children("#off").animate({opacity:1},150);
			$(this).children("#on").animate({opacity:0},150);
		}
	});
	$("#workListControllers #prev").click(function() {
		moveList(1);
	});
	$("#workListControllers #next").css({cursor:"pointer"});
	$("#workListControllers #next #on").css({display:"block",opacity:0});
	$("#workListControllers #next").mouseover(function() {
		if($("#workListControllers #next").css("cursor") == "pointer"){
			$(this).children("#off").animate({opacity:0},150);
			$(this).children("#on").animate({opacity:1},150);
		}
	});
	$("#workListControllers #next").mouseout(function() {
		if($("#workListControllers #next").css("cursor") == "pointer"){
			$(this).children("#off").animate({opacity:1},150);
			$(this).children("#on").animate({opacity:0},150);
		}
	});
	$("#workListControllers #next").click(function() {
		moveList(-1);
	});
}
function testWorkControllersVisibility(){
	//visibilidad flechas
	if(workListWidth > workMaskWidth){
		$("#workListControllers").css({visibility:"visible"});
	}else{
		$("#workListControllers").css({visibility:"hidden"});
	}
	testWorkArrows();
}
function workListItemLoadImage(){	
	if(workListNum < workListImages.length-1){
		workListNum ++;
		workImg = new Image();
		workImg.onload = function() {
			//redefino el ancho total de la lista de projects
			workListWidth = Math.ceil((workListNum+1)/2)*(workItemWidth+workItemSpace)-workItemSpace;
			testWorkControllersVisibility();//controlo visibilidad de las flechas
			//asigno los eventos y le doy fade-in al  item que se cargo
			$("#workList #holder #witem"+workListNum).mouseover(function() {
				$(this).children(".workItemBorder").stop(true).animate({opacity:1},200);
			});
			$("#workList #holder #witem"+workListNum).mouseout(function() {
				$(this).children(".workItemBorder").stop(true).animate({opacity:0},200);
			});
			$("#workList #holder #witem"+workListNum+" .workItemText span").css({color:mainColor});
			$("#workList #holder #witem"+workListNum+" .workItemBorder").css({opacity:0,borderColor:mainColor});
			$("#workList #holder #witem"+workListNum).css({opacity:0,visibility:"visible"});
			$("#workList #holder #witem"+workListNum).animate({opacity:1},100,workListItemLoadImage);
			if($.address.pathNames()[0] == "favorites"){
				$("#removewitem"+workListNum).css({cursor:"pointer",display:"block",opacity:0});
				$("#removewitem"+workListNum).animate({opacity:1},200);
				$("#removewitem"+workListNum).mouseover(function(){
					$(this).children(".removFavButtonBg").stop(true).animate({opacity:1},150);
				});
				$("#removewitem"+workListNum).mouseout(function(){
					$(this).children(".removFavButtonBg").stop(true).animate({opacity:0.6},150);
				});	
			}
			//workListItemLoadImage();
		}
		$("#wimage"+workListNum).append(workImg);
		workImg.src = workListImages[workListNum];
	}else{
		if(workSubmenuIndex > -1){
			var prevURL = String(getHistory(-1)).split("/");
			if($.address.path() == "/"+prevURL[1]+"/"+prevURL[2]){
				//reposiciono la lista si viene desde el project
				var speed = 300;
				workListX = menu[0].submenu[workSubmenuIndex].memoXlist
				var maxScroll = -(workListWidth-workMaskWidth);
				if(workListX>0){
					workListX = 0;
				}
				if(workListX<maxScroll){
					workListX = maxScroll;
				}
				testWorkArrows();
				$("#workList #holder").stop(true).animate({left:workListX},speed);
			}else{
				//controla por ultima vez la las flechas respecto a la posicion de la lista
				workListX = $("#workList #holder").position().left;
				testWorkArrows();
			}
		}else{
			//controla por ultima vez la las flechas respecto a la posicion de la lista
			workListX = $("#workList #holder").position().left;
			testWorkArrows();
		}
	}
}
function moveList(value){
	var speed = 300;
	workListX += (workMaskWidth+workItemSpace)*value;
	var maxScroll = -(workListWidth-workMaskWidth);
	if(workListX>0){
		workListX = 0;
	}
	if(workListX<maxScroll){
		workListX = maxScroll;
	}
	testWorkArrows();
	workListMemoX();
	$("#workList #holder").stop(true).animate({left:workListX},speed);
}
function workListMemoX(){
	if(workSubmenuIndex > -1){
		menu[0].submenu[workSubmenuIndex].memoXlist = workListX;
	}
}
function setWorkListX(x){
	workListX = x;
	testWorkArrows();
	$("#workList #holder").stop(true).css({left:workListX});
}
function testWorkArrows(){
	var maxScroll = -(workListWidth-workMaskWidth);
	if(workListX<maxScroll){
		workListX = maxScroll;
	}
	if(workListX>0){
		workListX = 0;
	}
	if(workListX == 0){
		$("#workListControllers #prev").mouseout();
		$("#workListControllers #prev").css({cursor:"auto",opacity:0.3});
	}else{
		$("#workListControllers #prev").css({cursor:"pointer",opacity:1});
	}
	if(workListX == maxScroll){
		$("#workListControllers #next").mouseout();
		$("#workListControllers #next").css({cursor:"auto",opacity:0.3});
	}else{
		$("#workListControllers #next").css({cursor:"pointer",opacity:1});
	}
}
function addFavsFormEvents(){
	$("#favFormBg").css({backgroundColor:mainColor,opacity:0.9});
	$("#favEmailButton").click(function(){
		$("#favForm").fadeToggle(200);
	});
	$("#favForm span").css({color:secondColor});
	$("#favForm input").css({color:secondColor});
	$("#favForm textarea").css({color:secondColor});
	$("#favForm .bgField").css({opacity:0.6});
	$("#favForm #bgField4").css({backgroundColor:secondColor});
	$("#favForm #sendButton").css({cursor:"pointer"});
	$("#favForm #sendButton").click(function(){
			sendFavForm();
	});
	$("#favForm input").focus(function(){
		var value = $(this).val().toLowerCase().split(" ").join("");
		var id = $(this).attr("id");
		if(value == id+":"){
			$(this).val("");
		}
	});
	$("#favForm input").blur(function(){
		var value = $(this).val().toLowerCase().split(" ").join("");
		var id = $(this).attr("id");
		if(value == ""){
			$(this).val(capitalizeText(id)+":");
		}
	});
	$("#favForm textarea").focus(function(){
		var value = $(this).val().toLowerCase().split(" ").join("");
		var id = $(this).attr("id");
		if(value == id+":"){
			$(this).val("");
		}
	});
	$("#favForm textarea").blur(function(){
		var value = $(this).val().toLowerCase().split(" ").join("");
		var id = $(this).attr("id");
		if(value == ""){
			$(this).val(capitalizeText(id)+":");
		}
	});	
	$(".favFormClose").css({cursor:"pointer"});
	$(".favFormClose").mouseover(function() {
		$(".favFormCloseHover").html('<img src="./assets/project_icon_close.png" onload="tintPNG4(this)" />');
		$(this).stop(true).animate({opacity:0},200);
	});
	$(".favFormClose").mouseout(function() {
		$(".favFormCloseHover").html('');
		$(this).stop(true).animate({opacity:1},200);
	});
	$(".favFormClose").click(function() {
		$("#favEmailButton").click();
	});
	$(document).click(function(){
		if($("#favForm").css("display") == "block" && !hitTestPoint($("#favForm"),MOUSE_X,MOUSE_Y) && !hitTestPoint($("#favEmailButton"),MOUSE_X,MOUSE_Y)){
			$("#favForm").fadeToggle(200);
		}
	});
}
//----------------
function sendFavForm(){
	$("#statusMsg").css({top:$("#bgField4").position().top+5})
	var to = cleanMails($("#to").val());// cleanMails -> project.js
	var from = cleanMails($("#from").val());
	var message = $("#message").val();
	var serverEmail = "noreply@williamhefner.com";
	var subject = "Projects by Studio William Hefner";
	var favListTmp = "";	
	for(var i=0;i<favData.length;i++){
		favListTmp += favData[i];
		if(i<favData.length-1){
			favListTmp += ",";	
		}
	}
	var body = "has sent you a list of projects by Studio William Hefner: <br/><br/>";
	var tmpMessage = message.toLowerCase();
	tmpMessage = tmpMessage.split(" ").join("");
	tmpMessage = tmpMessage.split("message").join("");
	tmpMessage = tmpMessage.split(":").join("");
	tmpMessage = tmpMessage.split("\r").join("");
	if(tmpMessage != ""){
		body += message+"<br/><br/>"; 
	}
	body += $.address.baseURL()+"/#/projects/";
	//
	var fieldsOK = 0;
	if(checkMails(to)){
		fieldsOK++;
	}
	if(checkMails(from)){
		fieldsOK++;
	}
	if(fieldsOK == 2){
		$("#sendButton").css({display:"none"});
		$("#bgField4").css({display:"none"});
		$("#statusMsg").stop(true).css({display:"block",opacity:1});
		$("#statusMsg").html("Sending...");
		$.ajax({
			url: "converFavURL.php?cms_status="+cms_status+"&favsStr="+favListTmp,
			success: function(data) {
				body+=data;
				sendFavFormSte2(from,to,subject,body);
			}
		});
	}else{
		$("#sendButton").css({display:"none"});
		$("#bgField4").css({display:"none"});
		$("#statusMsg").stop(true).css({display:"block",opacity:1});
		$("#statusMsg").html("Check Email Address.");
		$("#statusMsg").delay(3000).animate({opacity:0},50,function(){
			$("#sendButton").css({display:"block"});
			$("#bgField3").css({display:"block"});
			$("#statusMsg").stop(true).css({display:"none"});
		});
	}
}
function sendFavFormSte2(from,to,subject,body){
	$.ajax({
		type: "POST",
		url: "mailer_new.php",
		data: "to=" + to + "&email=" + from + "&reply=" + from + "&subject=" + subject + "&body=" + body,
		cache: false,
		dataType: "html",
		beforeSend: function(objeto){
			
		},
		success: function(msg){
			$("#statusMsg").html("Thanks for Sharing.");
			$("#statusMsg").delay(3000).animate({opacity:0},50,function(){
				$("#sendButton").css({display:"block"});
				$("#bgField4").css({display:"block"});
				$("#statusMsg").stop(true).css({display:"none"});
				$("#favForm").stop(true).css({display:"none"});
				$("#to").val("To:");
				$("#from").val("From:");
				$("#message").val("Message:");
			});
		},
		error: function(objeto, quepaso, otroobj){
			$("#statusMsg").html("Try Again Later.");
			$("#statusMsg").delay(3000).animate({opacity:0},50,function(){
				$("#sendButton").css({display:"block"});
				$("#bgField3").css({display:"block"});
				$("#statusMsg").stop(true).css({display:"none"});
			});
		}
	});
	
}
