////////////////////////////////////////////////////////////////////////////
//***********************************************************************//
//   myJs.js - compilation of useful things                             //
//   compiled/written by Ch. Meidinger 2011                            //
//   meid[at]gmx.at                                                   //
//   tested on IE7,IE8,Firefox,Safari,Opera                          //
//******************************************************************//
/////////////////////////////////////////////////////////////////////
var Wochentag=new Array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
var Monate=new Array('Jänner','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
var IE = false;
if (navigator.appName == "Microsoft Internet Explorer"){IE = true;}
var IE7 = false;
//alert(navigator.appName+' // '+navigator.appVersion);
if(substr_count(navigator.appVersion,'MSIE 7.0'))
{
	IE7 = true;
}
var OPERA=false;
if(navigator.appName=='Opera')
{
	OPERA=true;
}





function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		var o=[];
		o['x']=curleft;
		o['y']=curtop;
		return o;
	}
}

function sec2min(sec)
{
	return sec/60;
}
function min2sec(min)
{
	return min*60;
}
function isEven(value){
	
	if(value==0){return true;}
	
	if (value%2 == 0)
		return true;
	else
		return false;
}

function phpstmp2nulluhr(phpstmp)
{
	//alert('phpstmp2nulluhr: '+phpstmp);
	var Zeit = new Date();
	Zeit.setTime (phpstmp*1000);
	var wt=Zeit.getDay();
	var day=Zeit.getDate();
	var month=Zeit.getMonth();
	var year=Zeit.getFullYear();
	//alert('Zeit: '+Zeit.toLocaleString());
	var neuzeit= new Date();
	neuzeit.setFullYear(year,month,day);
	neuzeit.setHours(0);
	neuzeit.setMinutes(0);
	neuzeit.setSeconds(0);
	neuzeit.setMilliseconds(0);
	var newstmp=neuzeit.valueOf();
	//alert('neuzeit: '+neuzeit.toLocaleString());
	return newstmp/1000;	
}


function jsStmp2str(jsStmp)
{
	var Zeit = new Date();
	Zeit.setTime (jsStmp);
	var wt=Zeit.getDay();
	var day=Zeit.getDate();
	var month=Zeit.getMonth();
	var year=Zeit.getFullYear();
	return Wochentag[wt]+', '+day+'. '+Monate[month]+' '+year+'';
}
function phpStmpUndUhrzeit2stmp(phpStmp,uhrzeit)
{
	var Zeit = new Date();
	Zeit.setTime (phpstmp*1000);
	var std=Zeit.getHours();
	var min=Zeit.getMinutes();
	
	
	var neuzeit= new Date();
}
function jsStmp2Uhrzeit(jsStmp)
{
	var Zeit = new Date();
	Zeit.setTime (jsStmp);
	var min=Zeit.getMinutes();
	var std=Zeit.getHours();
	if(min<10)
	{
		min='0'+min;
	}
	if(std<10)
	{
		std='0'+std;
	}
	return std+':'+min;
}


function phpstmp2time(stmp)
{
	var Zeit = new Date();
	Zeit.setTime (stmp * 1000);
	return Zeit;
}
function min2hourmin(num)
{
	var tm=parseFloat(num)/60;
	var h=Math.floor(tm);
	var min=Math.round(60*(tm-h));
	if(min<10){min='0'+min;}
	return h+':'+min+'';
}
function removeDOM_id(element)
{
     var e = document.getElementById(element);
     if(!e){
          //alert("There is no element with the id: "+element);
          return false;
     }else{
     	e.parentNode.removeChild(e);
    }
}

function str_replace(search, replace, subject) {
   
    var s = subject;
    var ra = r instanceof Array, sa = s instanceof Array;
    var f = [].concat(search);
    var r = [].concat(replace);
    var i = (s = [].concat(s)).length;
    var j = 0;
    
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    }

    return sa ? s : s[0];
}

function ucFirst(str)
{
	if(str){return str.slice(0,1).toUpperCase() + str.slice(1);}
}
function is_folie_on()
{
	if(document.getElementById('folie').scrollWidth > 0)
	{
		return true;
	}else{
		return false;
	}
}
function folie_on()
{
	var folie=document.getElementById('folie');
	folie.style.height=document.height+'px';
	folie.style.width=(document.width)+'px';
	//alert(folie.style.height);
	folie.style.display='inline';
	
}
function folie_off()
{
	//removeDOM_id('FolieInnerSpan');
	if(document.getElementById('FolieInnerSpan'))
	{
		document.getElementById('FolieInnerSpan').style.display='none';
	}
	var folie=document.getElementById('folie');
	folie.style.display='none';
	
	
}
function trim(str)
{
	if (!str) {
	        return false;
	    }
	if(str.length<1){return false;}
	var trimmed = str.replace(/^\s+|\s+$/g, '') ;
	return trimmed;
}
function check_namefield(id)
{
	var iChars = "!@#$%^&*()+=[]\\\';{}|\":<>?";
	//alert('check_namefield: '+id+';  length:  '+document.getElementById(id).value.length);
	  if (document.getElementById(id).value.length == 0) {
          
          return false;
     	}
	  
	  
	  for (var i = 0; i < document.getElementById(id).value.length; i++) {
	  	if (iChars.indexOf(document.getElementById(id).value.charAt(i)) != -1) {
	  	alert (' Der Name beinhaltet Sonderzeichen \n Bitte korregieren');
	  	return false;
	  	}
	  }
	  return true;
}





function check_number(txt)
{
	var nonums = /^[0-9]*$/;
	if (nonums.test(txt)) {
	     return true;
	}
}	
function check_chars(txt)
{
	var iChars = "!@#$%^&*()+=[]\\\';{}|\":<>?";
	for (var i = 0; i < txt.length; i++) {
	  	if (iChars.indexOf(txt.charAt(i)) != -1) {
	  		return false;
	  	}
	  }
	  return true;
}
function check_chars_loose(txt)
{
	var iChars = "#$^*[]\\\';{}|\"<>?";
	for (var i = 0; i < txt.length; i++) {
	  	if (iChars.indexOf(txt.charAt(i)) != -1) {
	  		return false;
	  	}
	  }
	  return true;
}


	
function array_merge() {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Nate
    // -    depends on: is_int
    // %          note: Relies on is_int because !isNaN accepts floats     
    // *     example 1: arr1 = {"color": "red", 0: 2, 1: 4}
    // *     example 1: arr2 = {0: "a", 1: "b", "color": "green", "shape": "trapezoid", 2: 4}
    // *     example 1: array_merge(arr1, arr2)
    // *     returns 1: {"color": "green", 0: 2, 1: 4, 2: "a", 3: "b", "shape": "trapezoid", 4: 4}
    // *     example 2: arr1 = []
    // *     example 2: arr2 = {1: "data"}
    // *     example 2: array_merge(arr1, arr2)
    // *     returns 2: {1: "data"}
    
    var args = Array.prototype.slice.call(arguments);
    var retObj = {}, k, j = 0, i = 0;
    var retArr;
    
    for (i=0, retArr=true; i < args.length; i++) {
        if (!(args[i] instanceof Array)) {
            retArr=false;
            break;
        }
    }
    
    if (retArr) {
        return args;
    }
    var ct = 0;
    
    for (i=0, ct=0; i < args.length; i++) {
        if (args[i] instanceof Array) {
            for (j=0; j < args[i].length; j++) {
                retObj[ct++] = args[i][j];
            }
        } else {
            for (k in args[i]) {
                if (is_int(k)) {
                    retObj[ct++] = args[i][k];
                } else {
                    retObj[k] = args[i][k];
                }
            }
        }
    }
    
    return retObj;
}	    		
function substr_count( haystack, needle, offset, length ) {
	    // http://kevin.vanzonneveld.net
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   bugfixed by: Onno Marsman
	    // *     example 1: substr_count('Kevin van Zonneveld', 'e');
	    // *     returns 1: 3
	    // *     example 2: substr_count('Kevin van Zonneveld', 'K', 1);
	    // *     returns 2: 0
	    // *     example 3: substr_count('Kevin van Zonneveld', 'Z', 0, 10);
	    // *     returns 3: false
	 
	    var pos = 0, cnt = 0;
	 
	    haystack += '';
	    needle += '';
	    if(isNaN(offset)) offset = 0;
	    if(isNaN(length)) length = 0;
	    offset--;
	 
	    while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
	        if(length > 0 && (offset+needle.length) > length){
	            return false;
	        } else{
	            cnt++;
	        }
	    }
	 
	    return cnt;
	}
function is_array( mixed_var ) {
	    // http://kevin.vanzonneveld.net
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   improved by: Legaev Andrey
	    // +   bugfixed by: Cord
	    // +   bugfixed by: Manish
	    // +   improved by: Onno Marsman
	    // %        note 1: In php.js, javascript objects are like php associative arrays, thus JavaScript objects will also
	    // %        note 1: return true
	    // *     example 1: is_array(['Kevin', 'van', 'Zonneveld']);
	    // *     returns 1: true
	    // *     example 2: is_array('Kevin van Zonneveld');
	    // *     returns 2: false
	    // *     example 3: is_array({0: 'Kevin', 1: 'van', 2: 'Zonneveld'});
	    // *     returns 3: true
	    // *     example 4: is_array(function tmp_a(){this.name = 'Kevin'});
	    // *     returns 4: false
	 
	    var key = '';
	 
	    if (!mixed_var) {
	        return false;
	    }
	 
	    if (typeof mixed_var === 'object') {
	 
	        if (mixed_var.hasOwnProperty) {
	            for (key in mixed_var) {
	                // Checks whether the object has the specified property
	                // if not, we figure it's not an object in the sense of a php-associative-array.
	                if (false === mixed_var.hasOwnProperty(key)) {
	                    return false;
	                }
	            }
	        }
	 
	        // Uncomment to enable strict JavsScript-proof type checking
	        // This will not support PHP associative arrays (JavaScript objects), however
	        // Read discussion at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_is_array/
	        //
	        //  if (mixed_var.propertyIsEnumerable('length') || typeof mixed_var.length !== 'number') {
	        //      return false;
	        //  }
	 
	        return true;
	    }
	 
	    return false;
	}   
