// JavaScript Document

function SubmitForm(id) {
	document.getElementById(id).submit();
}

function Redirect(address) {
	location.href = address;
}

function CheckBoxes() {
				
				boxes = new Array();
				boxes = document.getElementsByName("check");
				
				return_ids = "";
				
				
				for(var i=0; i<boxes.length; i++) {
					if (boxes[i].checked == 1) {
						return_ids = return_ids + "|" + boxes[i].value;
					}
				}
				
				return(return_ids);
			
}

function VerifySubmit(ids, types, form) {
	
	if (Verify(ids, types)) document.getElementById(form).submit();
	
}

function Verify(ids, types) { /* receives fields and types, in the format as shown w/ the following e.g. -> ids: name|email|another  */


	var ids_arr = ids.split("|");
	var types_arr = types.split("|");
	var error = false;
	
	if(ids_arr.length!=types_arr.length) return;
	
	for(var i = 0; i < ids_arr.length; i++){
		
		
		if(ids_arr[i]=="") break; 
		
		var value = document.getElementById(ids_arr[i]).value;
		
		if(types_arr[i]=="") types_arr[i]="mandatory";
		
		switch(types_arr[i]) {
			
			case "birthday":
			
				var date_arr = value.split("/");
				
				if(!IsDate(date_arr[0], date_arr[1], 2008)) {
					FieldNotification('error', ids_arr[i] ,"Digite uma data válida");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
				
				break;
				
			case "date":
			
				var date_arr = value.split("/");
				
				if(!IsDate(date_arr[0], date_arr[1], date_arr[2])) {
					FieldNotification('error', ids_arr[i] ,"Digite uma data válida");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
				
				break;
				
			case "email":
			
				if (!IsEmail(value)) {
					FieldNotification('error', ids_arr[i] ,"Digite um email válido");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
				
				break;
				
			case "url":
			
				if(!IsUrl(value)) {
					FieldNotification('error', ids_arr[i] ,"Digite uma URL válida");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
			
				break;
			
			case "mandatory":
			
				if(value=="") {
					FieldNotification('error', ids_arr[i] ,"Este campo é obrigatório");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
				
				break;
				
			case "photo":
			
				break;
			
			case "login":
			
				if(value.length < 6 || value.length > 20) {
					FieldNotification('error', ids_arr[i] ,"Tamanho entre 6 e 20 caracteres");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
			
				break;
				
			case "password":
			
				if(value.length < 6 || value.length > 20) {
					FieldNotification('error', ids_arr[i] ,"Tamanho entre 6 e 20 caracteres");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
			
				break;
				
			case "number":
			
				if(isNaN(value) || value=="") {
					FieldNotification('error', ids_arr[i] ,"Digite um número");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
			
				break;
				
			case "time":
			
				var time_arr = value.split(":");
				
				if(isNaN(time_arr[0]) || isNaN(time_arr[0]) || time_arr[0]>23 || time_arr[0]<0 || time_arr[1]>59 || time_arr[1] < 0) {
					FieldNotification('error', ids_arr[i] ,"Digite uma hora válida");
					error = true;
				}
				else {
					FieldNotification('success', ids_arr[i] , 'Ok!');
				}
				
				break;
			
		}		
	}
	if (error == false) return true;
	else return false;
}

function IsDate(day, month, year) { //Validades Date

	//IsDate(29, 2, 2005)
	//IsDate(29, 2, 2004)
	var date = new Date();
	var blnRet = false;
	var blnDay;
	var blnMonth;
	var blnYear;

	date.setFullYear(year, month -1, day);

	blnDay   = (date.getDate()      == day);
	blnMonth = (date.getMonth()     == month -1);
	blnYear  = (date.getFullYear()  == year);

	if (blnDay && blnMonth && blnYear)
	blnRet = true;

	return blnRet;
}

function IsEmail(email){
	
	if ((email.length < 6) && ((email.indexOf("@") < 1) || (email.indexOf('.') < 7))) {
		return false;
	}
	return true;
	
}
function IsUrl(url){
	var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
	if (tomatch.test(url)) {
         return true;
    }
	return false;
}

function FieldNotification(type, id , msg) { /* types: error, success, information, attention, none */

	if (type=="none") {
		jQuery('#'+id+'_verif').hide();
	}
	else {
		jQuery('#'+id+'_verif').css("display", "inline");
		jQuery('#'+id+'_verif').removeClass('error');
		jQuery('#'+id+'_verif').removeClass('success');
		jQuery('#'+id+'_verif').removeClass('information');
		jQuery('#'+id+'_verif').removeClass('attention');
		jQuery('#'+id+'_verif').addClass(type);
		jQuery('#'+id+'_verif').html(msg);
	}
}

function formMascara(e,src,mask) { 
	if(window.event) { 
		campo = e.keyCode; 
	} 
	else if(e.which) { 
		campo = e.which; 
	} 
	if(campo > 47 && campo < 58) { 
		var i = src.value.length; 
		var saida = mask.substring(0,1); 
		var texto = mask.substring(i) 
		if (texto.substring(0,1) != saida) { 
			src.value += texto.substring(0,1); 
		} 
		return true; 
	} else { 
		if (campo != 8) { 
			return false; 
		} else { 
			return true; 
		} 
	} 
} 

function priceFormat(e,src) {
//nada ainda
}

function NewWindow(address){
	window.open(address, 'Versão para Impressão', 'resizable, scrollbars, width=950, height=600');
};

