﻿//0 means disabled; 1 means enabled;


/*function openPopUp(pNum){
	_pNum=pNum;
	if(_projectNumbers!=null)
		sortArray();
	else
		_projectNumbers=new Array();
	getXML();
	loadPopup(pNum);
	 $("#project_p").centerInClient();
}

//loading popup 
function loadPopup(){
	if(popupStatus==0){
		$("#backgroundPopup").css({
			"opacity": "0.7"
		});
		$("#backgroundPopup").fadeIn("slow");
		$("#project_p").fadeIn("slow");
		popupStatus = 1;
	}
}*/
var popupStatus = 0;
var firstTime = true;
var reset = false;

function openPopUp(pNum){
	reset = true;
	_pNum=pNum;
	if(_projectNumbers!=null)
		sortArray();
	else
		_projectNumbers=new Array();
	getXML();

	
	loadPopup();
	// $("#project_p").centerInClient();
}

//loading popup 
function loadPopup(){
	$("a#openPopup").click();
}

//disabling popup 
function disablePopup(){
	if(popupStatus==1){
		$("#backgroundPopup").fadeOut("slow");
		$("#project_p").fadeOut("slow");
		//$("#nextBtn").unbind('click');
		//$("#prevBtn").unbind('click');
		//$("#pics").clear();
		popupStatus = 0;
	}
}

function changePopUp(pNum){
	_pNum=pNum;
	disablePopup();
	openPopUp(pNum);
	//$("#pics").easySlider();
	//$("#myul").fadeOut('slow',function(){
	//	$("#myul").css('height','333');
		//$("#nextBtn").unbind('click');
		//$("#prevBtn").unbind('click');
	//	fillScreen();
	//	$("#pics").easySlider();
	//});
}

$.fn.centerInClient = function(options) {
    var opt = { forceAbsolute: false,
                container: window,    // selector of element to center in
                completeHandler: null
              };
    $.extend(opt, options);
    return this.each(function(i) {
        var el = $(this);
        var jWin = $(opt.container);
        var isWin = opt.container == window;
        // force to the top of document to ENSURE that 
        // document absolute positioning is available
        if (opt.forceAbsolute) {
            if (isWin)
                el.remove().appendTo("body");
            else
                el.remove().appendTo(jWin.get(0));
        }
        // have to make absolute
        el.css("position", "absolute");
        // height is off a bit so fudge it
        var heightFudge = isWin ? 2.0 : 1.8;
        var x = (isWin ? jWin.width() : jWin.outerWidth()) / 2 - el.outerWidth() / 2;
        var y = (isWin ? jWin.height() : jWin.outerHeight()) / heightFudge - el.outerHeight() / 2;
        el.css("left", x + jWin.scrollLeft());
        el.css("top", y + jWin.scrollTop());
        // if specified make callback and pass element
        if (opt.completeHandler)
            opt.completeHandler(this);
    });
}

function sortArray(){
	var arr1;
	var arr2;
	var pnumLocation;
	$.each(_projectNumbers,function(index,value){
		if(value==_pNum)
			pnumLocation=index;
	});
	arr1=_projectNumbers.slice(0,pnumLocation);
	arr2=_projectNumbers.slice(pnumLocation+1);
	_projectNumbers=arr1.concat(arr2);
	_projectNumbers.push(_pNum);
}

function getXML(){
_smallestSOrderPic=-1;
_fillArray=1;
//$("#pop").html("<div id='pics' class='ex'></div>");		
//$("#pics").easySlider();
  $.ajax({
	type: "GET",
	url: "assets/projects.xml",
	dataType: "xml",
	success: function(xml) {
		
		_xml=xml;
		fillScreen();
		if (firstTime){
			$("#pics").easySlider();
			firstTime =  false;
		}
		_fillArray=1;		
	}
   });
}


//CONTROLLING EVENTS IN jQuery
/*$(document).ready(function(){
	//CLOSING POPUP
	//Click the x event!
	$("#popupContactClose").click(function(){
		disablePopup();
	});
	//Click out event!
	$("#backgroundPopup").click(function(){
		disablePopup();
	});
	
	//Press Escape event!
	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disablePopup();
		}
	});

});*/

var _pNum;
var _picPath;
var _projectsDir;
var _projectDir;
var _projectDesc;
var _projectComp;
var _projectName;
var _smallestSOrderPic;
var _projectNumbers= new Array();
var _fillArray=0;
var _tech;
var _xml;
var _projCounter = 0;
   
function fillScreen(){
	document.getElementById('pics').innerHTML="";
	//document.getElementById('propertyList').innerHTML="";
	//document.getElementById('myTech').innerHTML="";
	_projectsDir=$(_xml).find('projects').attr('directory');
	//_tech=$(_xml).find('tech').children();
	_projCounter = 0;
	$(_xml).find('project').each(function(){
		_projCounter++;
		var id = $(this).attr('id');
		if(_fillArray==0){
				_projectNumbers.push(id);
		}
		if(id==_pNum){
			_projectDesc= $(this).find('description').text();	
			_projectComp= $(this).attr('company');
			_projectDir= $(this).attr('directory');
			_projectName= $(this).attr('name');
			document.getElementById('projectName').innerHTML = _projectName;
			var appendSlash="";
			if(_projectComp!="")
				appendSlash=" \\ ";
			document.getElementById('projectCompany').innerHTML = appendSlash+_projectComp;
			document.getElementById('projectText').innerHTML = _projectDesc;
			getImages($(this));
			getProperties($(this));
			//getTech($(this));
		}
	});
}  

function getImages(project){
	var str="";
	var childCount=0;

	project.find('image').each(function(){	
		var screenshotDesc=$(this).attr('description');
		$('#screenshotDesc').html(screenshotDesc);
		var picSOrder=$(this).attr('id');
		if(_smallestSOrderPic==-1&&picSOrder>1)
			_smallestSOrderPic=picSOrder;
		if(picSOrder>1){
			if(picSOrder<_smallestSOrderPic)
				_smallestSOrderPic=picSOrder;
			
			_picPath='/assets'+_projectsDir+_projectDir+'/'+($(this).attr('name'));
			str+='<li width="779" height="333"><img src='+_picPath+' ></li>';
			childCount++;
			$('#pics').html("<ul id='myul' numchildren='"+childCount+"'>"+str+"</ul>");
			
		}
	});
}
var propertyHolder;  
function getProperties(project){
	var propertyStr="";
	var numOfProperties=project.find('properties').children().length;
	var allProperties=project.find('properties').children();
	var vImgStr="<img src='/images/v.png'/>"
	var minVal=-1
	for(var i=0;i<numOfProperties;i++){
		var lowest=100;
		allProperties.each(function(){
		var sOrder=$(this).attr('sort_order');
			if(sOrder<lowest&&sOrder>minVal){
				lowest=$(this).attr('sort_order');
				propertyHolder=$(this);					
			}
		});
		//document.getElementById('propertyList').innerHTML+="<li>"+vImgStr+propertyHolder.attr('name')+"</li>";
		minVal=propertyHolder.attr('sort_order');
	}
}

var chosen;

function getTech(project){
	var techs=project.find('technologies').attr('ids').split(',');
	var relevantTechs=new Array();
	$.each(techs,function(i,v){
		_tech.each(function(){
				if($(this).attr('id')==v){
					relevantTechs.push($(this));
					return false;
				}
		});
	});
	var size=relevantTechs.length;
	var minSortN=-1;
	for(var i=0;i<size;i++){
		var sortN=100;
		$.each(relevantTechs,function(){
		var thisSort=$(this).attr('sort_order');
			if(thisSort<sortN&&thisSort>minSortN){
				sortN=thisSort;
				chosen=$(this);
			}
		});
		document.getElementById('myTech').innerHTML+="<li><img src='images/techIcons/"+chosen.attr('name')+"'/></li>";
		minSortN=chosen.attr('sort_order');
	}
}
