// JavaScript Utilities file


function compare_compact() {
	var p = getSelected( get( 'compacts[]' ) );
	var wl = window.location;
	var str = '';
	
	for( i in p ) {
		str += p[ i ].value+'|';
	}
	
	if( str == '' ) {
		alert( 'Wybierz conajmniej jeden aparat' );
	} else if( p.length > 5 ) {
		alert( 'Możesz wybrać maksymalnie 5 aparatów jednoczeście' );
	} else {
		wl += '/kompakt/'+str;
		window.open( wl );
	}
}


function compare_dslr() {
	var p = getSelected( get( 'dslr[]' ) );
	var wl = window.location;
	var str = '';
	for( i in p ) {
		str += p[ i ].value+'|';
	}
	
	if( str == '' ) {
		alert( 'Wybierz conajmniej jeden aparat' );
	} else if( p.length > 5 ) {
		alert( 'Możesz wybrać maksymalnie 5 aparatów jednoczeście' );
	} else {
		wl += '/aparat/'+str;
		window.open( wl );
	}
}

function compare_lenses() {
	var p = getSelected( get( 'lenses[]' ) );
	var wl = window.location;
	var str = '';
	
	for( i in p ) {
		str += p[ i ].value+'|';
	}

	if( str == '' ) {
		alert( 'Wybierz conajmniej jeden obiektyw' );
	} else if( p.length > 5 ) {
		alert( 'Możesz wybrać maksymalnie 5 obiektywów jednoczeście' );
	} else {
		wl += '/obiektyw/'+str;
		window.open( wl );
	}
}

function validateForm( form_name, names ) {
	
	hide( 'submiter' );
	var sd = get( 'form_debug' );
	sd.innerHTML = '';
	
	var arr = names.split( '|' );
	var s = arr.length;
	var startText = "Proszę wypełnić pola :<br/>";
	var str = startText;
	
	for( i = 0; i < s - 1; i += 2 ) {
		var elem = get( arr[ i ] );
		if( trim( elem.value ) == '' ) {
			str += arr[ i + 1 ]+"<br/>";
		}
	}
	
	var p 	= get( 'password' );
	var p_r 	= get( 'password_repeat' );
	
	if( ( inArray( arr, 'password' ) ) && ( inArray( arr, 'password_repeat' ) ) && ( p.value !=  p_r.value ) ) {
		sd.innerHTML += 'Hasło nie zgadza się z powtórzeniem hasła<br/><br/>';
	} 
	
	if( str == startText ) {
		passed	= new Array( false, false, false );

		if( inArray( arr, 'password' ) ) {
			var ajax = new myAjax();
			ajax.action = 'validate_password';
			ajax.post( 'password='+get( 'password' ).value );
			ajax.onLoad = function() {
				if( this.response != 'ok' ) {
					show( sd );
					show( 'submiter' );
					var resp = this.response.split( '|' );
					sd.innerHTML += "Hasło jest zbyt proste do odgadnięcia,<br/>użyj różnych wielkości liter, cyfr, albo dłuższego hasła<br/>Aktualna trudność hasła to ( "+resp[ 0 ]+" ) a wymagana ( "+resp[ 1 ]+" )<br/><br/>";
				} else {
					passed[ 0 ] = true;
					checkAllValidators( passed, form_name );					
				}
				delete ajax;
			}
		} else {
			passed[ 0 ] = true;
		}

		if( inArray( arr, 'email' ) ) {	
			var ajax = new myAjax();
			ajax.action = 'validate_email';
			ajax.post( 'email='+get( 'email' ).value );
			ajax.onLoad = function() {
				if( this.response != 'ok' ) {
					show( sd );
					show( 'submiter' );
					sd.innerHTML += "To nie jest poprawny adres e-mail<br/><br/>";
				} else {
					passed[ 1 ] = true;
					checkAllValidators( passed, form_name );					
				}
				delete ajax;
			}
		} else {
			passed[ 1 ] = true;
		}
		
		if( ( getValue( 'action' ).substr( 0, 3 ) == 'add' ) && inArray( arr, 'nick' ) ) {
			var ajax = new myAjax();
			ajax.action = 'is_nick_in_base';
			ajax.post( 'nick='+get( 'nick' ).value );
			ajax.onLoad = function() {
				if( this.response == 'yes' ) {
					show( sd );
					show( 'submiter' );					
					sd.innerHTML += "Istnieje już osoba o takim nicku w bazie, wybierz inny<br/><br/>";
				} else if( this.response == 'no' ) {
					passed[ 2 ] = true;
					checkAllValidators( passed, form_name );
				}
				delete ajax;
			}
		} else {
			passed[ 2 ] = true;
		}
		
		checkAllValidators( passed, form_name );
	} else {
		show( sd );	
		show( 'submiter' );
		sd.innerHTML = str;
	}
}

function checkAllValidators( globals, form_name ) {
	if( !inArray( globals, false ) ) {
		submitForm( form_name );
	} else {
		show( 'submiter' );
	}
}

function submitForm( form_name ) {
	document.forms[ form_name ].submit();
/*
	var ajax = new myAjax();
	ajax.action = 'submit_form';
	ajax.post( 'name='+form_name );
	ajax.onLoad = function() {
		document.forms[ form_name ].submit();
	}
	*/
}

