var Submitter = {};

Submitter.Submit = function (form_id, notice) {
	if(notice==null) {
		$(form_id).submit();
	} else {
		if(!confirm(notice)) {
			return false;
		} else {
			$(form_id).submit();	
		}
	}
}

Submitter.GoTo = function (url) {
	window.location.replace(url)
}

Submitter.AskAndGo = function (url, notice) {
	if(notice==null) {
		window.location.replace(url)
	} else {
		if(!confirm(notice)) {
			return false;
		} else {
			window.location.replace(url)	
		}
	}
}

// NOTICER

var Noticer = {};

Noticer.display_errors = function (array) {
	if(array != null && array != undefined && array.length>0) {
		var str = "Błędy:\n";
		for(var i=0; i<array.length; i++) {
			str += array[i];
			str += "\n";
		}
		
		alert(str)
	}
}

// TEXTER

var Texter = {};

Texter.has_text = function (str) {
	if(str=="" || str== "undefined" || str == null) {
		return false;
	} else {
		var reWhiteSpace = new RegExp(/^\s+$/);
		 if (reWhiteSpace.test(str)) {
			  return false;
		 } else {
			 return true;
		}
	}
}

// TM_EFFECT

var TmEffect = {};

TmEffect.toggleVis = function (element_id) {
		if($(element_id).style.display=='none') {
			$(element_id).show();	
		} else {
			$(element_id).hide();	
			}
}

// GENERATOR

var Generator = {};

Generator.Password = function(choose_length, noPunction_bool) {
	
    if (parseInt(navigator.appVersion) <= 3) {
        alert("Sorry this only works in 4.0+ browsers");
        return true;
    }
	
	if(choose_length==null) {
	  	var length=8;	
	} else {
		var length=choose_length;	
	}
	
	if(noPunction_bool==null) {
	  	var noPunction=1;	
	} else {
		var noPunction=noPunction_bool;	
	}
	
   
    var sPassword = "";

    for (i=0; i < length; i++) {
        numI = getRandomNum();
        if (noPunction) { while (checkPunc(numI)) { numI = getRandomNum(); } }
        sPassword = sPassword + String.fromCharCode(numI);
    }

    return sPassword;
}

function getRandomNum() {

    // between 0 - 1
    var rndNum = Math.random()

    // rndNum from 0 - 1000
    rndNum = parseInt(rndNum * 1000);

    // rndNum from 33 - 127
    rndNum = (rndNum % 94) + 33;

    return rndNum;
}

function checkPunc(num) {

    if ((num >=33) && (num <=47)) { return true; }
    if ((num >=58) && (num <=64)) { return true; }
    if ((num >=91) && (num <=96)) { return true; }
    if ((num >=123) && (num <=126)) { return true; }

    return false;
}


// MASSER
var Masser = {};

Masser.submitMassForm = function (form_id, mass_action_id, notice) {
	if(mass_action_id==null) {
		var mass_action_id = 'mass_action_key';
	} else {
		var mass_action_id = mass_action_id;
	}
	
	if(notice==null) {
		var notice = 'Jeste¶ pewien, że chcesz usun±ć wybrane elementy?';
	} else {
		var notice = notice;
	}
	
	if($('mass_action_key').value=='remove') {
		Submitter.Submit(form_id, notice);
	} else {
		Submitter.Submit(form_id);
	}
}

Masser.checkAll = function (num) {
	for(var i=1; i<=num; i++) {
		//alert($('check_'+i));
		$('check_'+i).checked = true;		
	}
}

Masser.uncheckAll = function (num) {
	for(var i=1; i<=num; i++) {
		$('check_'+i).checked = false;		
	}
	}