// JavaScript Document

function getProject(intID) {
	
	if ($('#contentHolder' + intID).css('display') == 'none') {
		doJqueryAjax('contentHolder' + intID, '', 'op=project&key=' + intID, 'GET', '');
	}
	else {
		$('#contentHolder' + intID).slideUp('fast');
		var newPos = $("#portfolioItemRow" + intID).offset().top;
		
		$('html, body').animate({scrollTop:0}, 'slow');
	}
	return false;
}

function closeProject(intID) {
	
	
		$('#contentHolder' + intID).slideUp('fast');
		var newPos = $("#portfolioItemRow" + intID).offset().top;
		
		$('html, body').animate({scrollTop:newPos}, 'slow');
	
}

//*****************************************************

function swapImage(strImage, strIDTag) {
	
	
	$('#' + strIDTag).attr('src', strImage);
	
	
}

//*****************************************************

function toggleDivFade(strIDTag) {
	
	if ($('#' + strIDTag).css('display') == 'none') {
		$('#' + strIDTag).fadeIn(400);
	}
	else
	{
		$('#' + strIDTag).fadeOut(200);
	}
}

//*****************************************************

function showDiv(strIDTag, intShow) {
	
	if (intShow == 1) {
		$('#' + strIDTag).slideDown(400);
	}
	else
	{
		$('#' + strIDTag).slideUp(200);
	}
}

//*****************************************************

function showContent(strID, strContent) {
	$('#' + strID).html(strContent);
}

//*****************************************************


//*****************************************************

function doJqueryAjax(strShow, strHide, strQueryData, strMethod, intReplace)  {

	var intDebug = 0;
	var strDataType = 'json';
	var strData = '';
	var strQuery = '';

	
	if (strMethod == 'POST') {

		strData = $("#" + strForm).serialize(); 

		strQuery = "?" + strQueryData;
	} 

	else {
		strData = strQueryData;
	}
	
	var strURL = "/php/ajax-virtual.php" + strQuery;

	var strDebug =  "<strong>doJqueryAjaxM</strong>" + 
					" <br />strShow = " + strShow + 
					" <br />strHide = " + strHide + 
					"<br /> strQueryData = " + strQueryData + 
					"<br /> strMethod = " + strMethod + 
					"<br />";

	
	//$("#debug").html(strDebug);

	$.ajax({  

		type: 		strMethod,   
		url: 		strURL,  
		data: 		strData,
		cache: 		false,  
		dataType: 	'json',

		beforeSend: function() { 

			if (strHide.length > 0) {

				$("#" + strHide).hide(); //hide

			} 

			$("#waiting").show("slow"); //hide
			$("#" + strShow).hide(); //hide
			$("#" + strShow).html("");

			if (intDebug > 0) {

				$("#ajaxurl").html("<p>" + strURL + " (" + strQueryData + ")</p>");

			}

			//alert(strURL);

		}, //show loading just when link is clicked

		

		success: function(objReturn, textStatus) {  

			//alert('returned ok');

			switch (strDataType) {

				case 'json': // JSON

					if (objReturn.result == 'success') {

						strDebug += "objReturn.result = success" + " - " + objReturn.op + "<br />";

						switch (objReturn.op) {

							case 'replace': // replace item
							case 'project':

								var strLinks = '' + objReturn.links;

								if (strLinks.length > 0) {

									$("#imageLinks").html(objReturn.links);

								}

								$("#" + strShow).html(objReturn.html); //show the html inside
								$("#" + strShow).slideDown('slow');
								
								strDebug += "<strong>Action:</strong> <br />HTML = " + strShow + "<br />";

							break;
							

						}

					}

				break;

			}

		
			$("#waiting").hide("slow"); //hide

			//$("#questionHolder").show("slow"); //animation

			if (intDebug > 0) {

				$("#ajax").html(html2entity(objReturn.html)); //animation
				$("#debug").html(strDebug);
				$("#debugSuccess").html(objReturn.debug);

			}

		},

		error: function(XMLHttpRequest, textStatus, errorThrown) {

			alert(textStatus + " " + errorThrown);

		}

	}); 

}
