/************************** Allianz Sponsoring Media Center script *****/
/*********************************** Copyright (c) 2009 Allianz SE *****/
/***********************************************************************/
/****************************************** inidvidual init script *****/
/***********************************************************************/
/************************************** author virtual identity AG *****/
/* $LastChangedDate: 2009-03-19 20:55:12 +0100 (Do, 19 Mrz 2009) $ *****/

// jquery.validator for contact form
var formValidators = {};

// on document ready: initate validator
$(document).ready(function(){

	if ($("form#form-media-finder").length && typeof(media_options) != 'undefined') {
		$("form#form-media-finder").mediaSelect(media_options, $('select#fld-sponsoring-area'), $("select#fld-media-type"));
	}

	//bind open new window to links
	if ($(".new-window").length) {
		$(".new-window").click(function(event) {
			var url = this.href;
			if (url && url.indexOf("javascript:") != 0) {
				window.open(url);
				event.preventDefault();
			}
		});
	}

	//create scrollpane
	if($(".scrollpane").length){
		$(".scrollpane").each(function(i){
			var $this = $(this);
			var $parent = $this.parent('.scrollpane-wrapper');
			$parent.width($parent.width() - 12);
		}).jScrollPane({showArrows:true, scrollbarWidth:7, scrollbarMargin:7, arrowSize:6});;
	}
	
	//open images in gallery in new window
	$("table.gallery a:not([href^=javascript])").click(function(event){
		var url = this.href;
		if (url) {
			window.open(url, "ImageViewer", "");
			event.preventDefault();
		}
	});

	//contact form validation
	if($("#form-contact").length){
		formValidators["form-contact"] = $("#form-contact").validate({
			
			highlight: function(element, errorClass){
				$(element).addClass(errorClass);
				$(element.form).find(".annotation").addClass(errorClass);
				$(element.form).find("label[for=" + element.id + "]").not('.radio, .checkbox').addClass(errorClass);
			},
			
			unhighlight: function(element, errorClass){
				$(element).removeClass(errorClass);
				$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
				// remove error class from element
				if(this.numberOfInvalids()==0){
					$(element.form).find(".annotation").removeClass("error");
				}
			},
			
			errorPlacement: function(error, element) {
				return;
			},
			
			errorElement: "em" /* to avoid label from being hidden */
		});
		
		$("#btn-reset").click(function() {
			var form = $(this).parents("form:first");
			var validatorId = form.attr("id");
			formValidators[validatorId].resetForm();
			// remove error class from all elements in form
			form.find(".error").removeClass("error");
		});
	}
});

