/*
 * Hover
 */
function rc(element) {
	if(element.className=="hovercell")
		element.className="hoverclick";
	else if(element.className=="hoverclick")
		element.className="hovercell";
	return;
}

function goToByScroll(id){
 	$('html,body').animate({scrollTop: $(id).offset().top-85},'slow');
 	return false;
}

function str_pad (input, pad_length, pad_string, pad_type) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // + namespaced by: Michael White (http://getsprink.com)
    // +      input by: Marco van Oort
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT');
    // *     returns 1: '-=-=-=-=-=-Kevin van Zonneveld'
    // *     example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH');
    // *     returns 2: '------Kevin van Zonneveld-----'
	
    var half = '', pad_to_go;

    var str_pad_repeater = function (s, len) {
        var collect = '', i;

        while (collect.length < len) {collect += s;}
        collect = collect.substr(0,len);

        return collect;
    };

    input += '';
    pad_string = pad_string !== undefined ? pad_string : ' ';
    
    if (pad_type != 'STR_PAD_LEFT' && pad_type != 'STR_PAD_RIGHT' && pad_type != 'STR_PAD_BOTH') { pad_type = 'STR_PAD_RIGHT'; }
    if ((pad_to_go = pad_length - input.length) > 0) {
        if (pad_type == 'STR_PAD_LEFT') { input = str_pad_repeater(pad_string, pad_to_go) + input; }
        else if (pad_type == 'STR_PAD_RIGHT') { input = input + str_pad_repeater(pad_string, pad_to_go); }
        else if (pad_type == 'STR_PAD_BOTH') {
            half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2));
            input = half + input + half;
            input = input.substr(0, pad_length);
        }
    }
    
    return input;
}


function fb_helper(url) {
	
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    //window.alert('Ihr Browser unterstützt keine AJAX-Funktionalität. Dadurch kann diese Seite leider nicht korrekt angezeigt werden. Wir empfehlen, einen aktuellen Browser zu verwenden.');
					return false;
					}
            }
        }

        if (!http_request) {
           // alert('Es kann keine XMLHTTP-Instanz erzeugt werden. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
            return false;
        }

        //http_request.onreadystatechange = new Function('fx', 'alertInhaltGeneric("'+container+'","'+preloader+'")');
        http_request.open('GET', url, true);
        http_request.send(null);

}

function ajax_generic(url,container,preloader) {
	
	if(!document.getElementById(container))
		return;
	
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    //window.alert('Ihr Browser unterstützt keine AJAX-Funktionalität. Dadurch kann diese Seite leider nicht korrekt angezeigt werden. Wir empfehlen, einen aktuellen Browser zu verwenden.');
					return false;
					}
            }
        }

        if (!http_request) {
           // alert('Es kann keine XMLHTTP-Instanz erzeugt werden. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
            return false;
        }

		//document.getElementById(container).innerHTML = '<span style="color:gray">Liste wird geladen...bitte warten!</span>';
		if(preloader!=null) {
			if(preloader!="popupEventListInit")
				document.getElementById(preloader).style.visibility = "visible";
		}

        http_request.onreadystatechange = new Function('fx', 'alertInhaltGeneric("'+container+'","'+preloader+'")');
        http_request.open('GET', url, true);
        http_request.send(null);

  }

function alertInhaltGeneric(container,preloader) {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                document.getElementById(container).innerHTML = http_request.responseText;
                if(preloader!=null) {
                	if (document.getElementById(preloader))
                		document.getElementById(preloader).style.visibility = "hidden";
                }
                if(container=="conttagcloud")
                	$("#"+container).delay(0).slideDown(500,"swing");
                
            	$( "input:submit,input:reset").button();
            	
            	$( "a.ro-button-del").button({ icons: {
            	    primary: "ui-icon-circle-close"
            	}});
            	$( "a.ro-button-back").button({ icons: {
            	    primary: "ui-icon-arrowreturnthick-1-w"
            	}});
            	if(preloader=="popupEventListInit")
            		initPopUp(400,450,'Kommentar / Antwort');
            	
            } else {
               // alert('Bei einem AJAX-Request ist ein Problem aufgetreten. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
				return;
            }
        }
}

/*
 * In this file is everything related to the interactive search form of the races list
 */

function s_ajax_reorder(ord,orddir,s_von,s_bis) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                //window.alert('Ihr Browser unterstützt keine AJAX-Funktionalität. Dadurch kann diese Seite leider nicht korrekt angezeigt werden. Wir empfehlen, einen aktuellen Browser zu verwenden.');
				return false;
				}
        }
    }

    if (!http_request) {
        //alert('Es kann keine XMLHTTP-Instanz erzeugt werden. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
        return false;
    }

	s_search = escape(document.getElementById("s_search").value);
	
    http_request.onreadystatechange = new Function('fx', 'alertInhaltSearch()');
	http_request.open('POST',"regatten.php",true);
	http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	send="ord="+ord+"&orddir="+orddir+"&s_search="+s_search+"&s_von="+s_von+"&s_bis="+s_bis;

	http_request.send(send);
	//document.getElementById("search_info").innerHTML = '<b><span style="color:gray">Suchanfrage läuft...bitte warten!</span></b>';
	document.getElementById('searchpreloader').style.visibility = "visible";
}
function s_ajax(event,action,who) {

	var Tastencode;
	if(event!='t_cal')
	{
		if (!event)
			event = window.event;
		if (event.which) {
			//Tastencode = event.which;
		} else if (event.keyCode) {
			Tastencode = event.keyCode;
		}

		if(who=='date')
		{
			if(Tastencode!=8&&Tastencode!=46)//backspace und entf
				if(!((Tastencode>=48&&Tastencode<=57)|| Tastencode==109|| Tastencode==189))
					return;
		}
		if(Tastencode==9||Tastencode==16)//TAB und Shift
			return;
	}

	s_von = document.getElementById("s_von").value;
	s_bis = document.getElementById("s_bis").value;

	if(s_von.length!=10&&s_von.length!=0)
			return;
	if(s_bis.length!=10&&s_bis.length!=0)
			return;

        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    //window.alert('Ihr Browser unterstützt keine AJAX-Funktionalität. Dadurch kann diese Seite leider nicht korrekt angezeigt werden. Wir empfehlen, einen aktuellen Browser zu verwenden.');
					return false;
					}
            }
        }

        if (!http_request) {
            //alert('Es kann keine XMLHTTP-Instanz erzeugt werden. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
            return false;
        }
  

	
        http_request.onreadystatechange = new Function('fx', 'alertInhaltSearch()');
		http_request.open('POST',"/regatten.php",true);
		http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		s_search = escape(document.getElementById("s_search").value);		
		s_von = document.getElementById("s_von").value;
		s_bis = document.getElementById("s_bis").value;

		send="s_search="+s_search+"&s_von="+s_von+"&s_bis="+s_bis;
		http_request.send(send);
		//document.getElementById("search_info").innerHTML = '<b><span style="color:gray">Suchanfrage läuft...bitte warten!</span></b>';
		document.getElementById('searchpreloader').style.visibility = "visible";

  }
  function alertInhaltSearch() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				//document.getElementById("search_info").innerHTML = '';
                document.getElementById("list_container").innerHTML = http_request.responseText;
                initPopUp(400,350,"Dateien / Links");
        		/*$(".pup").fancybox({
        			'width'				: 350,
        			'height'			: 400,
        			'autoScale'			: false,
        			'transitionIn'		: 'none',
        			'transitionOut'		: 'none',
        			'type'				: 'iframe'
        		});*/
        		
				if(auswstatus) {
					selectExample('0','0');
					myCloseInfoWindow();
				}

				 searchlinktoggle('off');
            } else {
               // alert('Bei einem AJAX-Request ist ein Problem aufgetreten. Sollte dieser Fehler dauerhaft auftreten, informieren Sie bitte den Administrator unter info@raceoffice.org.');
				return;
            }
            document.getElementById('searchpreloader').style.visibility = "hidden";
        }
   }

var searchlinkstate=false;
function searchlinktoggle(state){
	if(state=='off')
	{
		//document.getElementById('searchlink').style.display='none';
		//document.getElementById('searchlink').innerHTML=''; 
		$("#searchlink").slideUp(500);
		searchlinkstate=false;
		return;
	}
	if(searchlinkstate==false)
	{
		//document.getElementById('searchlink').style.display='';
		document.getElementById('searchlink').innerHTML=document.getElementById('hiddensearchlink').innerHTML;
		//if ($("#searchlink").is(":hidden"))
			$("#searchlink").slideDown(500);
		
		searchlinkstate=true;
	}
	else
	{
		//document.getElementById('searchlink').style.display='none';
		//document.getElementById('searchlink').innerHTML='';
		$("#searchlink").slideUp(500);
		searchlinkstate=false;
	}
}

function getElementsByName_iefix(tag, name) {
	if(!tag){
        tag = '*';
    }
	
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function initPopUp(height,witdh,text) {
	$(function() {
		$('.pup').unbind('click');

		$(".pup").click(function(e) {
			e.preventDefault();
			var $this = $(this);
			var horizontalPadding = 20;
			var verticalPadding = 0;
	        $('<iframe id="externalSite" class="externalSite" src="' + this.href + '" />').dialog({
	            title: ($this.attr('title')) ? $this.attr('title') : text,
	            autoOpen: true,
	            width: witdh,
	            height: height,
	            modal: true,
	            'autoScale'	: false
	            //resizable: true,
				//draggable: true
				//autoResize: true,
	            /*
	            overlay: {
	                opacity: 0.5,
	                background: "black"
	            }
	            */
	        }).width(witdh - horizontalPadding).height(height - verticalPadding);	        
		});
	});
}

function initEventMapPopUp(height,witdh,text,name) {
	$(function() {
		$("."+name+"").click(function(e) {
			e.preventDefault();
			var $this = $(this);
			var horizontalPadding = 20;
			var verticalPadding = 0;
	        $('<iframe id="externalSite" class="externalSite" src="' + this.href + '" />').dialog({
	            title: ($this.attr('title')) ? $this.attr('title') : text,
	            autoOpen: true,
	            width: witdh,
	            height: height,
	            modal: true,
	            'autoScale'	: false
	            //resizable: true,
				//autoResize: true,
	            /*
	            overlay: {
	                opacity: 0.5,
	                background: "black"
	            }
	            */
	        }).width(witdh - horizontalPadding).height(height - verticalPadding);	        
		});
	});
}

function initLayout() {
	$( "input:submit[class!='nolayout'],input:reset").button();
	$( "a.ro-button-del").button({ icons: {
	    primary: "ui-icon-circle-close"
	}});
	$( "a.ro-button-back").button({ icons: {
	    primary: "ui-icon-arrowreturnthick-1-w"
	}});
	$( "a.ro-button").button();
  /*(function() {
    //settings
    var fadeSpeed = 400, fadeTo = 0.5, topDistance = 45;
    var topbarME = function() { $('#l_top').fadeTo(fadeSpeed,1); }, topbarML = function() { $('#l_top').fadeTo(fadeSpeed,fadeTo); };
    var inside = false;
    //do
    $(window).scroll(function() {
      position = $(window).scrollTop();
      if(position > topDistance && !inside) {
        //add events
        topbarML();
        $('#l_top').bind('mouseenter',topbarME);
        $('#l_top').bind('mouseleave',topbarML);
        inside = true;
      }
      else if (position < topDistance){
        topbarME();
        $('#l_top').unbind('mouseenter',topbarME);
        $('#l_top').unbind('mouseleave',topbarML);
        inside = false;
      }
    });
  })();*/
}

/*
Masked Input plugin for jQuery
Copyright (c) 2007-2011 Josh Bush (digitalbush.com)
Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) 
Version: 1.3
*/
(function(a){var b=(a.browser.msie?"paste":"input")+".mask",c=window.orientation!=undefined;a.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn"},a.fn.extend({caret:function(a,b){if(this.length!=0){if(typeof a=="number"){b=typeof b=="number"?b:a;return this.each(function(){if(this.setSelectionRange)this.setSelectionRange(a,b);else if(this.createTextRange){var c=this.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}})}if(this[0].setSelectionRange)a=this[0].selectionStart,b=this[0].selectionEnd;else if(document.selection&&document.selection.createRange){var c=document.selection.createRange();a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length}return{begin:a,end:b}}},unmask:function(){return this.trigger("unmask")},mask:function(d,e){if(!d&&this.length>0){var f=a(this[0]);return f.data(a.mask.dataName)()}e=a.extend({placeholder:"_",completed:null},e);var g=a.mask.definitions,h=[],i=d.length,j=null,k=d.length;a.each(d.split(""),function(a,b){b=="?"?(k--,i=a):g[b]?(h.push(new RegExp(g[b])),j==null&&(j=h.length-1)):h.push(null)});return this.trigger("unmask").each(function(){function v(a){var b=f.val(),c=-1;for(var d=0,g=0;d<k;d++)if(h[d]){l[d]=e.placeholder;while(g++<b.length){var m=b.charAt(g-1);if(h[d].test(m)){l[d]=m,c=d;break}}if(g>b.length)break}else l[d]==b.charAt(g)&&d!=i&&(g++,c=d);if(!a&&c+1<i)f.val(""),t(0,k);else if(a||c+1>=i)u(),a||f.val(f.val().substring(0,c+1));return i?d:j}function u(){return f.val(l.join("")).val()}function t(a,b){for(var c=a;c<b&&c<k;c++)h[c]&&(l[c]=e.placeholder)}function s(a){var b=a.which,c=f.caret();if(a.ctrlKey||a.altKey||a.metaKey||b<32)return!0;if(b){c.end-c.begin!=0&&(t(c.begin,c.end),p(c.begin,c.end-1));var d=n(c.begin-1);if(d<k){var g=String.fromCharCode(b);if(h[d].test(g)){q(d),l[d]=g,u();var i=n(d);f.caret(i),e.completed&&i>=k&&e.completed.call(f)}}return!1}}function r(a){var b=a.which;if(b==8||b==46||c&&b==127){var d=f.caret(),e=d.begin,g=d.end;g-e==0&&(e=b!=46?o(e):g=n(e-1),g=b==46?n(g):g),t(e,g),p(e,g-1);return!1}if(b==27){f.val(m),f.caret(0,v());return!1}}function q(a){for(var b=a,c=e.placeholder;b<k;b++)if(h[b]){var d=n(b),f=l[b];l[b]=c;if(d<k&&h[d].test(f))c=f;else break}}function p(a,b){if(!(a<0)){for(var c=a,d=n(b);c<k;c++)if(h[c]){if(d<k&&h[c].test(l[d]))l[c]=l[d],l[d]=e.placeholder;else break;d=n(d)}u(),f.caret(Math.max(j,a))}}function o(a){while(--a>=0&&!h[a]);return a}function n(a){while(++a<=k&&!h[a]);return a}var f=a(this),l=a.map(d.split(""),function(a,b){if(a!="?")return g[a]?e.placeholder:a}),m=f.val();f.data(a.mask.dataName,function(){return a.map(l,function(a,b){return h[b]&&a!=e.placeholder?a:null}).join("")}),f.attr("readonly")||f.one("unmask",function(){f.unbind(".mask").removeData(a.mask.dataName)}).bind("focus.mask",function(){m=f.val();var b=v();u();var c=function(){b==d.length?f.caret(0,b):f.caret(b)};(a.browser.msie?c:function(){setTimeout(c,0)})()}).bind("blur.mask",function(){v(),f.val()!=m&&f.change()}).bind("keydown.mask",r).bind("keypress.mask",s).bind(b,function(){setTimeout(function(){f.caret(v(!0))},0)}),v()})}})})(jQuery)
