//-------------------------------------------------------------------//
/* Input validator images */
//-------------------------------------------------------------------//

var inputValidator = Class.create();
inputValidator.prototype = {

	//-------------------------------------------------------------------//

	initialize: function() {
		this.img_id = '';
	},

	//-------------------------------------------------------------------//

	validateUploadInputs: function() {
		var error = false;
		var allow = /(\.jpg)|(\.jpeg)|(\.png)|(\.gif)/;

		//$F('upload-email').strip().stripTags().stripScripts();

		/* NAME */
		if($F('upload-name').length == 0) {
			error = true;
			$('wrn-upload-name').removeClassName('hidden');
		}
		else $('wrn-upload-name').addClassName('hidden');
		/* EMAIL */
		if($F('upload-email').length == 0) {
			error = true;
			$('wrn-upload-email-1').removeClassName('hidden');
		}
		else if(!this.validateEmail($F('upload-email'))){
			error = true;
			$('wrn-upload-email-1').addClassName('hidden');
			$('wrn-upload-email-2').removeClassName('hidden');
		}
		else {
			$('wrn-upload-email-2').addClassName('hidden');
		}
		/* TITLE */
		if($F('upload-title').length == 0) {
			error = true;
			$('wrn-upload-title').removeClassName('hidden');
		}
		else $('wrn-upload-title').addClassName('hidden');
		/* FILE */
		if($F('upload-file').length == 0) {
			error = true;
			$('wrn-upload-file-1').removeClassName('hidden');
		}
		else if(!$('upload-file').value.toLowerCase().match(allow)) {
			error = true;
			$('wrn-upload-file-1').addClassName('hidden');
			$('wrn-upload-file-2').removeClassName('hidden');
		}
		else {
			$('wrn-upload-file-2').addClassName('hidden');
		}
		/* TAGS */
		if($F('upload-tags').length > 0) {
			this.validateTags($('upload-tags'));

			/*if(!this.isTagsHasSpecChars($('upload-tags'))) {
				error = true;
				$('wrn-upload-tag').removeClassName('hidden');
			}
			else {
				$('wrn-upload-tag').addClassName('hidden');
			}*/
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateSendInputs: function() {
		var error = false;
		var error_reciever_empty = true;
		var error_reciever_syntax = true;

		/* NAME */
		if($F('sender-name').length == 0) {
			error = true;
			$('wrn-send-name').removeClassName('hidden');
		}
		else $('wrn-send-name').addClassName('hidden');
		/* SENDER EMAIL */
		if($F('sender-email').length == 0) {
			error = true;
			$('wrn-send-email-1').removeClassName('hidden');
		}
		else if(!this.validateEmail($F('sender-email'))){
			error = true;
			$('wrn-send-email-1').addClassName('hidden');
			$('wrn-send-email-2').removeClassName('hidden');
		}
		else {
			$('wrn-send-email-2').addClassName('hidden');
		}
		/* RECIEVER EMAIL */
		for(i=1; i<5; i++) {
			if($F('reciever-email-'+i).length != 0) {
				error_reciever_empty = false;
				if(this.validateEmail($F('reciever-email-'+i))) error_reciever_syntax = false;
			}
		}

		if(error_reciever_empty) {
			error = true;
			$('wrn-reciever-email-1').removeClassName('hidden');
		}
		else if(error_reciever_syntax) {
			error = true;
			$('wrn-reciever-email-1').addClassName('hidden');
			$('wrn-reciever-email-2').removeClassName('hidden');
		}
		else $('wrn-reciever-email-2').addClassName('hidden');

		return error;
	},

	//-------------------------------------------------------------------//

	validateCommentInputs: function() {
		var error = false;

		/* TEXT */
		if($F('comment-text').length == 0) {
			error = true;
			$('wrn-comment-text').removeClassName('hidden');
		}
		else $('wrn-comment-text').addClassName('hidden');

		return error;
	},

	//-------------------------------------------------------------------//

	validateNewsLetterInput: function() {
		var error = false;

		/* EMAIL */
		if($F('newsletter-email').length == 0) {
			error = true;
			$('wrn-newsletter-1').removeClassName('hidden');
		}
		else if(!this.validateEmail($F('newsletter-email'))){
			error = true;
			$('wrn-newsletter-1').addClassName('hidden');
			$('wrn-newsletter-2').removeClassName('hidden');
		}
		else {
			$('wrn-newsletter-1').addClassName('hidden');
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateUploadText: function() {
		var error = false;

		if($F('upload-text-text').length == 0) {
			error = true;
			$('upload-text-error').removeClassName('hidden');
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateUploadPicture: function(is_lead) {
		var allow = /(\.jpg)|(\.jpeg)|(\.png)|(\.gif)/;
		var error = false;

		$('upload-picture-title').value = $F('upload-picture-title').strip().stripTags().stripScripts();
		$('upload-picture-tag').value = $F('upload-picture-tag').strip().stripTags().stripScripts();

		/* TITLE */
		if($F('upload-picture-title').length == 0) {
			error = true;
			$('upload-picture-error-title').removeClassName('hidden');
		}
		else $('upload-picture-error-title').addClassName('hidden');
		/* LEAD */
		if(is_lead) {
			if($F('upload-picture-lead').length == 0) {
				error = true;
				$('upload-picture-error-lead').removeClassName('hidden');
			}
			else $('upload-picture-error-lead').addClassName('hidden');
		}
		/* FILE */
		if($F('upload-picture-file').length == 0) {
			error = true;
			$('upload-picture-error-file-1').removeClassName('hidden');
		}
		else if(!$('upload-picture-file').value.toLowerCase().match(allow)) {
			error = true;
			$('upload-picture-error-file-1').addClassName('hidden');
			$('upload-picture-error-file-2').removeClassName('hidden');
		}
		else {
			$('upload-picture-error-file-1').addClassName('hidden');
			$('upload-picture-error-file-2').addClassName('hidden');
		}
		/* RIGHT */
		if($('upload-picture-right')) {
			if($('upload-picture-right').selectedIndex == 0) {
				error = true;
				$('upload-picture-error-right').removeClassName('hidden');
			}
			else {
				$('upload-picture-error-right').addClassName('hidden');
			}
		}
		/* ALBUM */
		if($('upload-picture-album')) {
			if($('upload-picture-album').selectedIndex == 0) {
				error = true;
				$('upload-picture-error-album').removeClassName('hidden');
			}
			else {
				$('upload-picture-error-album').addClassName('hidden');
			}
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateUploadVideo: function(is_lead) {
		var error = false;

		$('upload-video-title').value = $F('upload-video-title').strip().stripTags().stripScripts();
		$('upload-video-tag').value = $F('upload-video-tag').strip().stripTags().stripScripts();
		$('upload-video-embed').value = $F('upload-video-embed').strip().stripScripts();

		/* TITLE */
		if($F('upload-video-title').length == 0) {
			error = true;
			$('upload-video-error-title').removeClassName('hidden');
		}
		else $('upload-video-error-title').addClassName('hidden');
		/* LEAD */
		if(is_lead) {
			if($F('upload-video-lead').length == 0) {
				error = true;
				$('upload-video-error-lead').removeClassName('hidden');
			}
			else $('upload-video-error-lead').addClassName('hidden');
		}
		/* EMBED */
		if($F('upload-video-embed').length == 0 && $F('upload-video-file').length == 0) {
			error = true;
			$('upload-video-error-embed').removeClassName('hidden');
		}
		else $('upload-video-error-embed').addClassName('hidden');
		/* RIGHT */
		if($('upload-video-right')) {
			if($('upload-video-right').selectedIndex == 0) {
				error = true;
				$('upload-video-error-right').removeClassName('hidden');
			}
			else {
				$('upload-video-error-right').addClassName('hidden');
			}
		}
		/* ALBUM */
		if($('upload-video-album')) {
			if($('upload-video-album').selectedIndex == 0) {
				error = true;
				$('upload-video-error-album').removeClassName('hidden');
			}
			else {
				$('upload-video-error-album').addClassName('hidden');
			}
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateBoxInputs: function() {
		var error = false;

		$('box-name').value = $F('box-name').strip().stripTags().stripScripts();
		$('box-email').value = $F('box-email').strip().stripTags().stripScripts();

		$('wrn-box-invaliduser').addClassName('hidden');

		/* NAME */
		if($F('box-name').length == 0) {
			error = true;
			$('wrn-comment-name').removeClassName('hidden');
		}
		else $('wrn-comment-name').addClassName('hidden');
		/* EMAIL */
		if($F('box-email').length == 0) {
			error = true;
			$('wrn-comment-email-1').removeClassName('hidden');
		}
		else if(!this.validateEmail($F('box-email'))){
			error = true;
			$('wrn-comment-email-1').addClassName('hidden');
			$('wrn-comment-email-2').removeClassName('hidden');
		}
		else {
			$('wrn-comment-email-1').addClassName('hidden');
			$('wrn-comment-email-2').addClassName('hidden');
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateTags: function(input) {
		var limit = 5;
		var result = '';
		var tags = input.value.strip().stripScripts().stripTags().split(' ');

		if(tags.length > 5) {
			for(i=0; i < limit; i++) {
				if(result == '') result += tags[i];
				else result += ' '+tags[i];
			}
		}
		else result = input.value.strip().stripScripts().stripTags();

		input.value = result;
	},

	//-------------------------------------------------------------------//

	validateNewAlbum: function() {
		var error = false;

		if($F('input-album-name').length == 0) {
			error = true;
			$('wrn-album-new').removeClassName('hidden');
		}
		else {
			$('wrn-album-new').addClassName('hidden');
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateUploadAvatar: function() {
		var allow = /(\.jpg)|(\.jpeg)|(\.png)|(\.gif)/;
		var error = false;
		var selected_avatar = 0;

		inputs = document.getElementsByTagName('input');

		for(i = 0; i < inputs.length; i++) {
			if(inputs[i].type == 'radio' && inputs[i].checked) {
				selected_avatar = 1;
				break;
			}
		}

		if(selected_avatar == 0) {
			if($F('avatar-file').length == 0) {
				error = true;
				$('avatar-error-file-1').removeClassName('hidden');
			}
			else if(!$('avatar-file').value.toLowerCase().match(allow)) {
				error = true;
				$('avatar-error-file-1').addClassName('hidden');
				$('avatar-error-file-2').removeClassName('hidden');
			}
			else {
				$('avatar-error-file-1').addClassName('hidden');
				$('avatar-error-file-2').addClassName('hidden');
			}
		}

		return error;
	},

	//-------------------------------------------------------------------//

	validateSendOutsider: function() {
		var error = false;

		var email = $F('dlg-send-input-email').strip().stripTags().stripScripts();
		var url_name = $F('dlg-send-input-name').strip().stripTags().stripScripts();

		if(url_name.length == 0) {
			error = true;
			$('dlg-send-error-name').removeClassName('hidden');
		}
		else $('dlg-send-error-name').addClassName('hidden');

		if(email.length == 0) {
			error = true;
			$('dlg-send-error-email-1').removeClassName('hidden');
		}
		else if(!this.validateEmail(email)) {
			error = true;
			$('dlg-send-error-email-1').addClassName('hidden');
			$('dlg-send-error-email-2').removeClassName('hidden');
		}
		else {
			$('dlg-send-error-email-2').addClassName('hidden');
		}

		return error;
	},

	//-------------------------------------------------------------------//

	isTagsHasSpecChars: function(input) {
		var myregExp = /^([a-zA-Z0-9]+)$/;
		return myregExp.test(input.value);
	},

	//-------------------------------------------------------------------//

	validateEmail: function(email){
		email =this.trim(email);

		if ((email.length > 0) && !email.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)) {
			return false;
		}
		return true;
	},

	//-------------------------------------------------------------------//

	trim: function(txt){
		while (txt.charAt(0)==" ") txt=txt.substr(1, txt.length);
		while (txt.charAt(txt.length-1)==" ") txt=txt.substr(0, txt.length-1);
		return txt;
	}

	//-------------------------------------------------------------------//

}

//-------------------------------------------------------------------//