/*
#  functions.js
#  description
#
#  KOUPLING
#
#  Created by Vincent Rijnbeek on 03/07/09.
#  Copyright Inque 2009. All rights reserved.
*/

// System Javascript functions

// Base vars

	// uniq
		function uniqid(){
			var newDate = new Date;
			return "uniq" + newDate.getTime();
		}

// Aesthetic functions

	// IE Corners
		function msie() {    
		    if ($.browser.msie) {
			    $(".c").prepend("<div class=\"ctl\"></div><div class=\"ctr\"></div>");
				$(".c").append("<div class=\"cbl\"></div><div class=\"cbr\"></div>");
			}
		}






// Login functions


//Login check
	$(document).ready(function(){
	
	// Login
	
	 $("form#loginForm").submit(function() {
	 
		var vars = $("form#loginForm").serialize();
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/login/login.php",
		   data: vars,
		   beforeSend: function() {
		   	$("#login,").toggle("clip",function(){$("#loading,").toggle("clip");});
		   },
		   success: function(php){
		    if (php == 1) {
		    	getContent();

		    }
		    else {
		   		$("#loading").toggle("clip",function(){$("#error,").toggle("clip");});
			   	var t = setTimeout("$(\"#error,\").toggle(\"clip\",function(){$(\"#login,\").toggle(\"clip\");})",5000);
		    }
		   }
		 });
	 
			return false;
	     });	
	     

	msie();
	
	});


// Delete item
	function delData(id,database) {
		var check = confirm ("Het gekozen item verwijderen?");
	 		if (check) {
				var vars = "id="+id+"&database="+database;
				 $.ajax({
				   type: "POST",
				   url: "./_ajax/delete/q.php",
				   data: vars,
				   success: function(){
				    $("#id"+id).toggle("clip",function(){equalHeights("nav","content"); $("#id"+id).remove(); $(".content").append("<div class=\"result\"></div>");$(".result:even").addClass('row'); $(".result:odd").removeClass('row'); });
				    
				}
			});		
		}
	}
	
// Save data
	function saveData(id,url) {
		var vars = 'ajax=1&alter='+ id +"&"+ $("form#data").serialize();
		 $.ajax({
		   type: "POST",
		   url: url,
		   data: vars,
		   beforeSend: function() {
		   		$("#overlayContent").addClass("loading").html("Bezig met opslaan.");
				slideIn();
		   },
		   success: function(html){
		    	$("#overlayContent").removeClass("loading").html("De gegevens zijn opgeslagen.");
		    	//$("#debug").text(html);
		    	setTimeout("slideOut()",2500);
		   }
		 });		
		return false;
	}		

// Set active/inactive
	function setStatus(id,table,set,mail) {
		if (set==1) {
			var text = "<a onClick=\"setStatus('"+id+"','"+table+"','0','"+mail+"');\"></a>";
			if (mail==1) {
				var check = confirm ("De gebruikersgegevens emailen van dit gegeven?");
					if (check) {
						sendMail(id,table);
					}			
			}
		}
		else {
			var text = "<a onClick=\"setStatus('"+id+"','"+table+"','1','"+mail+"');\"></a>";
		}
		var vars = "id="+id+"&set="+set+"&database="+table;
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/status/q.php",
		   data: vars,
		   success: function(){
			    $("#status"+id).html(text).toggleClass("activeRow").toggleClass("inactiveRow");
		   }
		 });	
	
	}
	
// Set active/inactive
	function setStatus(id,table,set,mail) {
		if (set==1) {
			var text = "<a onClick=\"setStatus('"+id+"','"+table+"','0','"+mail+"');\"></a>";
			if (mail==1) {
				var check = confirm ("De gebruikersgegevens emailen van dit gegeven?");
					if (check) {
						sendMail(id,table);
					}			
			}
		}
		else {
			var text = "<a onClick=\"setStatus('"+id+"','"+table+"','1','"+mail+"');\"></a>";
		}
		var vars = "id="+id+"&set="+set+"&database="+table;
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/status/q.php",
		   data: vars,
		   success: function(){
			    $("#status"+id).html(text).toggleClass("activeRow").toggleClass("inactiveRow");
		   }
		 });	
	
	}	

// set mail/mailes
	function sendInvite(id,table,set,mail) {
		if (set==1) {
			var text = "<a onClick=\"setMail('"+id+"','"+table+"','0','"+mail+"');\"></a>";
			if (mail==1) {
				var check = confirm ("Uitnodiging sturen?");
					if (check) {
						sendInviteMail(id,table);
					}			
			}
		}
		else {
			var text = "<a onClick=\"setMail('"+id+"','"+table+"','1','"+mail+"');\"></a>";
		}
		var vars = "id="+id+"&set="+set+"&database="+table;
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/status/q.php",
		   data: vars,
		   success: function(){
			    $("#status"+id).html(text).toggleClass("mailRow").toggleClass("mailreadyRow");
		   }
		 });	
	
	}

// Get content
	function getContent() {
		$.ajax({
		  url: "./_ajax/login/content.php",
		  cache: false,
		  success: function(html){
		    $("#loader").html(html);
		    msie();
		    $("#loading").toggle("clip",function(){$("#loader").toggle("clip").css({'z-index' : '50'}); equalHeights("nav","content");});
		   	$("#login").css({'z-index' : '0'});

		  }
		});
	}

// Logout
	function logOut() {
		$.ajax({
		  url: "./_ajax/login/logout.php",
		  beforeSend: function() {
		    $("#loader").toggle("clip",function(){$("#loading").toggle("clip")}).css({'z-index' : '0'});
		   },
		  cache: false,
		  success: function(){
			$("#loading").toggle("clip",function(){$("#login").toggle("clip").css({'z-index' : '50'})});
			$("#loader").html("");
		  }
		});
	}

// Password generator
	function randomPassword() {
			var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$_+";
			var size = 8;
			var i = 1;
			var ret = ""
			while ( i <= size ) {
				$max = chars.length-1;
				$num = Math.floor(Math.random()*$max);
				$temp = chars.substr($num, 1);
				ret += $temp;
				i++;
			}
			$("#passWord").val(ret);

			//return ret;
		}

// Set heights
	function equalHeights(menu,content) {
		
		var t = 0;
		if ($('#'+menu).height() > t) { t = $('#'+menu).height(); }
		if ($('#'+content).height() > t) { t = $('#'+content).height(); }
		
		if ($.browser.msie && $.browser.version == 6.0) { $("#"+menu+",#"+content).css({'height': t}); }
		$("#"+menu+",#"+content).css({'min-height': t}); 
	
	}
	
	
// login gegevens versturen
	function sendMail(id,table) {
		var vars = 'id='+ id +'table='+ table;
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/mail/sendEngine.php",
		   data: vars,
		   beforeSend: function() {
		   		$("#overlayContent").addClass("loading").html("Bezig met verzenden.");
				slideIn();
		   },
		   success: function(html){
		    	$("#overlayContent").removeClass("loading").html("De gebruikersgegevens zijn verzonden.");
		    	$("#sent"+id).text(html);
		    	setTimeout("slideOut()",2500);
		   }
		 });
	}


// Tab content loader
	function loadTab(module,content,id) {
		var vars = 'module='+ module +'&content='+ content +'&alter='+ id
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/tabs/loader.php",
		   data: vars,
		   beforeSend: function() {
		   		$("#contents").addClass("loading").html("");
		   		$("#nav,#content").css({'height':'440px','min-height':'440px'}).removeAttr("style");
		   		
		   },
		   success: function(html){
		    	$("#contents").removeClass("loading").html(html);
		    	msie();
		    	equalHeights("nav","content");

		   }
		 });	
	}
	
// Tab content loader
	function loadMonth(module,content,id,date) {
		var vars = 'module='+ module +'&content='+ content +'&alter='+ id +'&date='+ date
		 $.ajax({
		   type: "POST",
		   url: "./_ajax/tabs/loader.php",
		   data: vars,
		   beforeSend: function() {
		   		$("#contents").addClass("loading").html("");
		   		$("#nav,#content").css({'height':'440px','min-height':'440px'}).removeAttr("style");
		   		
		   },
		   success: function(html){
		    	$("#contents").removeClass("loading").html(html);
		    	equalHeights("nav","content");

		   }
		 });	
	}	


// mailTo
	
	function mailTo(id) {
		var data = $('#'+id).val();
		document.location.href="MailTo:"+data;
	}	

// linkRelation

	function linkRelation(url,id) {
		var data= $('#'+id).val();
		document.location.href="http://"+url+"/app/?relations&alter="+data;
		//$("#debug").html("http://"+url+"?relations&alter="+data);
	}


	
// add Div	
	function addDiv(id,sort) {
		var uniq = uniqid();
		var name = sort + '['+uniq+']';
		var i = sort + uniq;
		$('#'+id).after("<div id=\""+i+"\"><label> </label><input type=\"text\" name=\""+name+"\"> <a onclick=\"addDiv('"+i+"','"+sort+"');\">[+]</a> <a onclick=\"delDiv('"+i+"');\">[-]</a></div>");
		
		equalHeights("nav","content");

			
	}
	
// remove Div
	function delDiv(id){
		var check = confirm ("Dit gegeven verwijderen?");
			if (check) {
				$('#'+id).remove();
				
		    	equalHeights("nav","content");

			}
		}	
	

// add Trajectplan
	function addTraject(id,sort) {
		var uniq = uniqid();
		var name = sort + '['+uniq+']';
		var textarea = sort + '1['+uniq+']';
		var i = sort + uniq;
		$('#'+id).after("<div id=\""+i+"\">"+
				"<label>Onderwerp:</label>"+
				"<input type=\"text\" name=\""+name+"\">"+
				" <a onclick=\"addTraject('"+i+"','"+sort+"');\">[+]</a> <a onclick=\"delDiv('"+i+"');\">[-]</a>"+
				"<br><label>Opmerking:</label>"+
				"<textarea name=\""+textarea+"\"></textarea>"+
			"</div>");
		
		equalHeights("nav","content");
	
	}
	
	
// Slide out
	function slideOut() {
		$("#overlay").toggle("slide",{direction:'right'});
		$("#overlayBox").toggle("clip",250);
	
	}

// Slide in
	function slideIn() {
		var height= $(window).height();
		var width = $(window).width();
	
		if ($("#overlayBox").css('display')=="block") {slideOut();}
	
		$("#overlayBox").css({'top' : (height/2-$("#overlayBox").height()/2), 'left' : width/2-$("#overlayBox").height()/2}
	).toggle("clip",250);
		$("#overlay").css('top', (height/2-$("#overlay").height()/2)).toggle("slide",{direction:'left'});
	}
		
// File upload

	function startUpload() {
		//$('#uploading').html("Bezig met uploaden.");
		$("#overlayContent").addClass("loading").html("Bezig met Uploaden.");
		slideIn();
	}
	function stopUpload(succes,image) {
		var brokenstring=image.split("-"); 
		count = brokenstring.length;
		
		if (succes) {
				if ($('#gallery label')) {$('#gallery label').remove();}
			for (c=0; c < count; c++) {
			
				var imageID = brokenstring[c].split("."); 
			
				$('#gallery').prepend(
				"<div id=\"photo"+imageID[0]+"\" class=\"galleryItem fl galleryInactive\" style=\"background: url(./ir.php?src="+brokenstring[c]+"&amp;s=100) center no-repeat;\">"+
					"<div class=\"galleryOptions\">"+
						"<div class=\"offlineIcon block fl\"><a onClick=\"statusPhoto('"+imageID[0]+"','0');\"></a></div>"+
						"<div class=\"trashIcon block fr\"><a onClick=\"remPhoto('"+imageID[0]+"','photoData');\"></a></div>"+
					"</div>"+
					"<a class=\"galleryLink\" href=\"../_models/"+brokenstring[c]+"\" target=\"_blank\"></a>"+
				"</div>");
		
			}	
				//$('#uploading').html("Klaar.");
				$("#overlayContent").removeClass("loading").html("Foto's zijn opgeslagen.");
			    setTimeout("slideOut()",2500);
				equalHeights("nav","content");
				galleryInit();

		}
	}
	
	function stopAvatarUpload(succes,image) {
		var brokenstring=image.split("-"); 
		count = brokenstring.length;
		
		if (succes) {
			for (c=0; c < count; c++) {
				$('.avatarItem').replaceWith(
					"<div class=\"fl avatarItem\" style=\"background: url(./ir.php?src="+brokenstring[c]+"&amp;s=60) center no-repeat;\">"+
						"<a href=\"../_models/"+brokenstring[c]+"\" class=\"avatarLink\" target=\"_blank\"></a>"+
					"</div>");
						
			}
				$("#overlayContent").removeClass("loading").html("De foto is opgeslagen.");
			    setTimeout("slideOut()",2500);			
		}
	}	
	
	function addFile() {
		var uniq = uniqid();
		var file = "file" +uniq;
		$('#upload').append(
		"<div class=\"field\" id=\""+file+"\">"+
			"<label class=\"label\" for=\"photo[]\">Foto</label>"+
			"<input id=\"photo[]\" name=\"photo[]\" type=\"file\" class=\"fl\">"+ 
			"<div class=\"delLine block fr\">"+
				"<a onClick=\"remFile('"+file+"');\"></a>"+
			"</div>"+
			"<br class=\"clear\">"+
		"</div>");
		
		equalHeights("nav","content");
	}
	
	function remFile(id) {
		$('#'+id).remove();
		equalHeights("nav","content");
		
	}
				
// Gallery
// Delete photo
	function remPhoto(id,database) {
		var check = confirm ("De gekozen foto verwijderen?");
	 		if (check) {
				var vars = "id="+id+"&database="+database;
				 $.ajax({
				   type: "POST",
				   url: "./_ajax/delete/q.php",
				   data: vars,
				   success: function(){
						$('#photo'+id).effect("puff",function(){$('#photo'+id).remove();});
				    	

				}
			});		
		}
	}
	
	function approvePhoto() {}
	function rejectPhoto() {}
	
// Setcard


// Testing stuff
	function blind() {
		$("#login").toggle("clip");
	
	
	}









