$(document).ready(function(){
	$("div.form-select-list").each(function(){
		if($(this).hasClass("toggle") && !$(this).hasClass("selected")){
			var attr = $(this).attr("rel").split("|");
			var group = attr[0];
			var el = attr[1];
			$("#"+el).css('visibility','hidden');
		}
	});	
	$("div.form-select-list").click(function(){
		if($(this).hasClass("toggle") && !$(this).hasClass("selected")){
			var attr = $(this).attr("rel").split("|");
			var group = attr[0];
			var el = attr[1];
			$("div.form-select-list").each(function(){
				if($(this).hasClass("toggle")){
					var attr2 = $(this).attr("rel").split("|");
					if(attr2[0] == group){
						if($(this).hasClass("selected")){
							$(this).removeClass("selected");
							$("#"+attr2[1]).css('visibility','hidden');
						}
					}
				}
			});
			$(this).addClass("selected");
			$("#"+el).css('visibility','visible');
		
		}else if($(this).hasClass("check")){
			if($(this).hasClass("selected")){
				$(this).removeClass("selected");
			}else{
				$(this).addClass("selected");
			}
		}
	});
	$("contact-form").submit(function(){
		/** VALIDATE FORM **/
		$errors = false;
		$(this).find("input,select,textarea").each(function(){
			if($(this).parent(0).css("visibility") != "hidden"){
				if($(this).hasClass("required") && !$(this).attr("value")){
					$(this).addClass("error");
					$errors = true;
				}
			}
		});
		if(!$errors){
			$(this).find("select").each(function(){
				value = $(this).attr("value");
				if(value.split("|").length > 1){
					var arr = value.split("|");
					felement = $("<input type='check' name='ticketwizards[]' value='"+arr[1]+"' style='visibility:hidden'/>");
					$("#contact-form").append(felement);
				}
			});
			$(this).find(".form-select-list").each(function(){
				var attr = $(this).attr("rel").split("|");
				var group = attr[0];
				var el = attr[1];
				
				if($(this).hasClass("toggle")){
					var felement = $("<input type='text' name='"+group+"' value='"+el+"'  style='visibility:hidden'/>");
					$("#contact-form").append(felement);
				}else{
					if($(this).hasClass("check") && $(this).hasClass("selected")){
						var felement = $("<input type='check' name='"+group+"[]' value='"+el+"'  style='visibility:hidden'/>");
						$("#contact-form").append(felement);
						if(attr[2]){
							felement = $("<input type='check' name='ticketwizards[]' value='"+attr[2]+"' style='visibility:hidden'/>");
							$("#contact-form").append(felement);
						}
					}
				}
			});
		}
		if($errors)
			return false;
		else
			return true;
		
	});
	initFileDelete();
	initTips();
	if($("#att_btn").length > 0){
		activateUpload();
	}
});

var $tipDiv = $('<div class="register-tip"></div>');
var current = null;
function initTips(){

	$('input').each(function(){
		if($(this).hasClass("form-submit"))
			return;
		$(this).unbind("focus");
		$(this).unbind("blur");
		
		$(this).focus(function(){
			if(current != null){
				$tipDiv.css("display","none");
				current = null;
			}
			if($(this).attr("rel")){
				current = $(this);
				pos = $(this).position();
				width = $(this).width();
				$tipDiv.html($(this).attr("rel")+"&nbsp;");
				$tipDiv.css({left:pos.left+width-2,top:pos.top-10,opacity:0.8});
				$tipDiv.fadeIn();
				$(this).parent(0).append($tipDiv);
			}
		});
		$(this).blur(function(){
			if(current != null){
				if($(this).attr("id") == current.attr("id")){
					$tipDiv.css("display","none");
					current = null;
				}
			}
		});
	});
}

function in_array(needle, haystack, strict) {
    var found = false, key, strict = !!strict;
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
 
    return found;
}
function getMime(extension){
	var names = new Array();
	var arr = new Array();
	
	arr[0] = new Array("jpg","gif","jpeg","gif","png","tiff");
	names[0] = "image";
	arr[1] = new Array("avi","mpg","mpeg");
	names[1] = "video";
	arr[2] = new Array("ppt");
	names[2] = "powerpoint";
	arr[3] = new Array("pdf");
	names[3] = "pdf";
	arr[4] = new Array("txt");
	names[4] = "txt";
	arr[5] = new Array("doc","docx","rtf");
	names[5] = "word";
	arr[6] = new Array("zip","tar");
	names[6] = "tar";
	arr[7] = new Array("htm","html");
	names[7] = "html";
	arr[8] = new Array("xls");
	names[8] = "excel";
	arr[9] = new Array("mov");
	names[9] = "quicktime";
	def = "document";
	
	for(i=0;i<arr.length;i++){
		if(in_array(extension,arr[i])){
			return names[i];
		}
	}
	return def;
}
function initFileDelete(){
	if($("#file-list .file").length > 0){
		$("#file-list .file .delete-file").click(function(){
			var trigger = $(this);
			$.ajax({
				  type	: "POST",
				  url	: baseHref+"/contact/upload/",
		 		  data	: "act=contact&action=delete&file="+trigger.attr("rel"),
		 		  cache	: false,
		 	 	  success: function(result){
				  	trigger.parent("div.file").remove();
		 		  }
		 	  });
		});
	}
}

function activateUpload(){
	
	$("#att_btn").each(function(){
		
		$.ajax_upload('#att_btn', {
		  action	: baseHref+"/contact/upload/",                 
		  name		: 'attachment',
		  data		: {
			  act : 'contact',
			  action : 'upload'
		  },
		  onSubmit: function(file, extension) {
			  $("#uploader").css("display","block");
		  },
		  onComplete: function(file, response) {
		  	//alert("complete "+response+" - " +file);
		  },
		  onSuccess: function(fname,extension){
			  file = $("<div class='file'><span>"+fname+"</span><div class='delete-file'></div></div>")
			  mime = getMime(extension);
			  file.addClass(mime);
			  
			  $(".delete-file",file).attr("rel",fname);
			  $(".delete-file",file).click(function(){
				  var trigger = $(this);
				  $.ajax({
					  type	: "POST",
					  url	: baseHref+"/contact/upload/",
			  		  data	: "act=contact&action=delete&file="+trigger.attr("rel"),
			  		  cache	: false,
			  	 	  success: function(result){
					  	trigger.parent("div.file").remove();
			  		  }
			  	  });
			});
			  
			file.appendTo("#file-list");
		  	$("#uploader").css("display","none");
		  },
		  onError: function(file, response){
		  	alert("something went wrong");
		  }
		});
	});
}
