// JavaScript Document
g_bolDebug = true;
g_txtAdd = "Add to portfolio";
g_txtRemove = "Remove from portfolio";
g_classAdd = 'btn_addToPortfolio';
g_classRemove = 'btn_removePortfolio';
g_intTotalHoldersBusy=0;
g_intTotalHolders=0;
g_arPortfolioItems = new Array();
g_bolPortfolioPage=false;
g_currentImgNum=0;
g_totalImgNum=0;
g_projectNum=0;
g_baseUrl="";
g_baseImgSrc="";
g_btn_prev="";
g_btn_next="";
g_btn_close="";
g_arCurrentSlide = new Array();
g_arFrmElements = new Array("yourname", "yourmail", "friendname", "friendmail");
$(document).ready(function(){
	if ($('.playerLink').length) {
		$(".playerLink").click(function(event) {
			$.each(g_arrPlayerDivWrappers, function(i,item){
				$('#'+item.idWrapper).css('background-image','url('+item.strBackground+')');
				
				
			});
		});
	}
	var url = document.location.href;
	var match = url.indexOf("/portfolio/");
	if (match != -1) {
		g_bolPortfolioPage=true;
	}
	
	$.getJSON("/_services/getPortfolio.php",function(data){
		if (data!=null && g_bolPortfolioPage) {
			$.each(data, function(i,item){
				g_arPortfolioItems.push(item);
			});
		} else {
			if ($.cookie('portfolioList')!=null && $.cookie('portfolioList')!="") {
				var arTemp=$.cookie('portfolioList').split(',');
				$.each(arTemp, function (key, value) {
					g_arPortfolioItems.push(value);
				});
				savePortfolio();
			} else {
				g_arPortfolioItems=new Array();	
			}			
		}
		populatePortfolio();
		detectSelectedProjects();
	});
	$('.jsLink').click(function(event) {
		event.preventDefault();							   
	});
	if ($('.btn_backToTop').length) {
		$('.btn_backToTop').click(function(event) {
    	    backToTop();
		});
	}
	if ($('.playerLink').length) {
		$('.playerLink').click(function(event) {
    	    //console.log($(this).parent().attr('class'));
			$(this).parent().css("background-image","none");
		});
	}
	if ($('#btn_sendPF_opener').length) {
		$('#btn_sendPF_opener').click(function(event) {
			$(this).css('color', '#000');
			
			if (g_arPortfolioItems.length==0) {
				$('#pfEmpty').slideToggle('fast');
				setTimeout(function(){ $("#pfEmpty").slideToggle('fast') }, 2000);
			} else {
				$('#portfolioSenderWrapper').slideToggle('fast');
				activateProtfolioSendEvents();
			}
		});
	}
	if ($('.imageWrapper img').length) {
		initSlide('.imageWrapper img');
	}
	/*if ($('.prodImgWrapper img').length) {
		initSlide('.prodImgWrapper img');
	}*/
	
});
function initSlide(element) {
	return;
	$(element).click(function(event) {
			var arrPos = getPageScroll();
			$('#slideWrapper').css("left", 0);
			$('#slideWrapper').css("top", 0);
			$('#slideWrapper').css("height", $('body').height()+50);
			$('#slideWrapper').css("width", $('body').width()-20);
			$('#largeImgWrapper').css('margin-top',arrPos[1]+50);
			$('#slideWrapper').slideToggle('fast');
			var temp = $(this).parent().attr('id').split("_");
			g_projectNum = parseInt(temp[0]);
			g_currentImgNum = parseInt(temp[1]);
			g_totalImgNum = parseInt(temp[2]);
			var projectType = $(this).attr('src').indexOf("projects") == -1 ? "production-services" : "projects";
			g_baseUrl = "/_i/"+projectType+"/";
			g_arCurrentSlide = eval("arImages_"+g_projectNum);
			//jQuery.preLoadImages(arUrls);
			if (g_totalImgNum>1) {
				$('#nextPrev').css('display', 'block');
				$('#prev').bind('click', function(event) {
					incrementSlide("prev");
					event.stopPropagation();
				});
				$('#next').bind('click', function(event) {
					incrementSlide("next");
					event.stopPropagation();
				});
			} else {
				$('#nextPrev').css('display', 'none');
			}
			$('#close').bind('click', function(event) {
				closeSlide();
				event.stopPropagation();			
			});
			$('#imgHolder').bind('click', function(event) {
				incrementSlide("next");
				event.stopPropagation();					 
			});
			$('#slideWrapper').bind('click', function(event) {
				closeSlide();
				event.stopPropagation();
			});
			$('html, body').bind('keyup',function(event) {
			  if (event.keyCode == '39') {
				 incrementSlide("next");
			  } else if (event.keyCode == '37') {
				  incrementSlide("prev");
			  }
			});
			showSlide();
		});
}
function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;
    }
    return new Array(xScroll,yScroll)
}
function closeSlide() {
	clearImages();
	$('#prev').unbind('click');
	$('#next').unbind('click');
	$('#close').unbind('click');
	$('html, body').unbind('click');
	$('#imgHolder').unbind('click');
	$('#slideWrapper').unbind('click');
	$('html, body').unbind('keyup');
	$('#slideWrapper').slideUp('fast');
}
function incrementSlide(where) {
	if (where=="next") {
		if (g_currentImgNum < g_totalImgNum) {
			g_currentImgNum++;	
		} else {
			g_currentImgNum=1;
		}
	} else {
		if (g_currentImgNum>1) {
			g_currentImgNum--;	
		} else {
			g_currentImgNum = g_totalImgNum;	
		}
	}
	showSlide();
}
function showSlide() {
	
	$('#imgHolder').addClass('loading');
	clearImages();
	var newUrl = g_baseUrl+g_arCurrentSlide[g_currentImgNum-1];
	var image = new Image();
  	$(image).load(function () {
			$(this).hide();
			$('#imgHolder').append(this);
			$('#imgHolder').removeClass('loading');
			$(this).fadeIn();
		})
		.error(function () {
		  // notify the user that the image could not be loaded
		})
	.attr('src', newUrl);	
}
function clearImages() {
	var arrImgs = $('#imgHolder').find('img');
	if (arrImgs.length>0) {
		$.each(arrImgs, function (key,value) {
			$(value).remove();
		});
	}
}
function getBaseUrl(url) {
	var temp = url.split("/");
	return temp[0]+"/"+temp[1]+"/"+temp[2]+"/"+temp[3]+"/";
}
function backToTop() {
	$('html,body').animate({scrollTop: 0}, 400);	
}
function detectSelectedProjects() {
	$('.btn_addToPortfolio').each(function () {
		var strPorftolioItemID = $(this).parent().find('img').attr('id');
		if ($.inArray(strPorftolioItemID, g_arPortfolioItems) > -1) {
			$(this).removeClass(g_classAdd).addClass(g_classRemove);
			$(this).text(g_txtRemove);
		}
	});
	
}
function activateProtfolioSendEvents() {
	$('#btn_sendPF_cancel').unbind('click', btnCancel);
	$('#btn_sendPF_sender').unbind('click', btnSend);
	$('#btn_sendPF_cancel').bind('click', btnCancel);
	$('#btn_sendPF_sender').bind('click', btnSend);
	$.each(g_arFrmElements, function (key,value) {
		$('#'+value).bind('focus',manageFocus);					  
	});
}
function manageFocus(event) {
	var f = $('#l_'+$(this).attr('id'));
	if (f.css('color')=='rgb(255, 0, 0)') {
		f.css('color',"#000");
	}
}
function btnCancel() {
	$('#btn_sendPF_opener').css('color', '#808285');
	$('#portfolioSenderWrapper').slideUp('fast');
}
function btnSend() {
	if (g_arPortfolioItems.length>0) {
		if (checkFormToSend()) {
			sendPortfolio();		
		}
	} else {
		printMsg('Your portfolio is empty');
	}
	
}
function checkFormToSend() {
	error = false;
	$.each (g_arFrmElements, function (key, value) {
		 if ($("#"+value).val()=="") {
			$("#l_"+value).css("color","#ff0000"); 
			error = true;
		 }
		 if(value.substr(-4)=="mail") {
			 if (!checkMail($("#"+value).val())) {
			 	$("#l_"+value).css("color","#ff0000");
				error = true;
			 }
		 }
	});
	if (error) return false;
	else return true;
}

function sendPortfolio() {
	$.post("/_services/sendPortfolio.php", 
		   { sender: $('#yourname').val(), senderMail: $('#yourmail').val(), recipient: $('#friendname').val(), recipientMail: $('#friendmail').val(), msg:$('#msg').val(), pfItems: g_arPortfolioItems },
		   function(data) {
  				if (data=="ok") {
					confirmMsgSent();
				} else {
					//console.log("not ok");	
				}
			});
}
function confirmMsgSent() {
	$('#btn_sendPF_opener').css('color', '#808285');
	$('#portfolioSenderWrapper').slideUp('fast', function () {
		printMsg('Your message has been sent.');
	});
	$('#friendname').val('');
	$('#friendmail').val('');
	$('#msg').val('');
}
function printMsg(msg) {
	$('#pfSendResult').html(msg);
	$('#pfSendResult').slideDown('fast');
	setTimeout(function(){ $("#pfSendResult").slideUp('fast') }, 2000);
}
function populatePortfolio () {
	$('#portfolio li').each(function() {
		if (g_intTotalHoldersBusy<g_arPortfolioItems.length) {
			$(this).addClass('filled');
			g_intTotalHoldersBusy++;
		}
		g_intTotalHolders++;
	});
	$('.btn_addToPortfolio').each(function() {
		$(this).click(function(event) {
			addToPortfolio($(this));			
		});	  
	});	
}
//
function addToPortfolio(divBtnAdd) {
	var strPorftolioItemID = divBtnAdd.parent().find('img').attr('id');
	if ($.inArray(strPorftolioItemID, g_arPortfolioItems) == -1) {
		if (g_intTotalHoldersBusy<g_intTotalHolders){			
			var nextLi = $('#pf_'+g_intTotalHoldersBusy);
			nextLi.addClass('filled');
			g_arPortfolioItems.push(strPorftolioItemID);
			nextLi.data("arPosition", g_intTotalHoldersBusy);
			var oldClass=g_classAdd;
			var newClass=g_classRemove;
			var txt = g_txtRemove;
			g_intTotalHoldersBusy++;
		}
	} else {
		g_intTotalHoldersBusy--;
		var nextLi = $('#pf_'+g_intTotalHoldersBusy);
		nextLi.removeClass('filled');
		g_arPortfolioItems.splice($.inArray(strPorftolioItemID, g_arPortfolioItems),1);
		var oldClass=g_classRemove;
		var newClass=g_classAdd;
		var txt = g_txtAdd;
		if (g_bolPortfolioPage) {
			divBtnAdd.parent().parent().slideUp('fast');
			if (g_arPortfolioItems.length==0) {
				$('#centerWrapper #portfolioEmpty').slideDown('fast');
				backToTop();
			}
		}
		
	}
	savePortfolio();
	divBtnAdd.removeClass(oldClass).addClass(newClass);
	divBtnAdd.text(txt);
	//debug("project id="+strPorftolioItemID);
	
}
function savePortfolio() {
	$.cookie('portfolioList', g_arPortfolioItems, {expires:60, path: '/'});
	/*$.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });*/
	$.post("/_services/savePortfolio.php", { obj: g_arPortfolioItems });
}
function debug(txt) {
	if(g_bolDebug==true) {
		$('#pf_value').text(txt);
		$('#pf_value').css("display","block");
		setTimeout(function(){ $("#pf_value").fadeOut() }, 1000);
	}
}


function checkMail(elem) {
	var s = (elem!=null)?elem:"";
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(s);
}
/* JQUERY */

(function($) {
	var cache = [];
	$.preLoadImages = function() {
	var args_len = arguments[0].length;
		for (var i = args_len; i--;) {
			var cacheImage = document.createElement('img');
			cacheImage.src = arguments[0][i];
			cache.push(cacheImage);
		}
	}
})(jQuery)
