/**
 * Rits Framework
 *
 * LICENSE
 * 
 * This source file is subject to the Rits Commercial license.
 * 
 * @copyright  2008 Rits Comunicação & Tecnologia. (http://www.rits.com.br)
 * @license    Rits Commercial License 1.0
 * @version    $Id:$
 */

/**
 * Site 
 *
 * @category   Rits
 * @package    Rits
 * @copyright  2008 Rits Comunicação & Tecnologia. (http://www.rits.com.br)
 * @license    Rits Commercial License 1.0
 */
Rits.Site = {
		
	clearText: function(e, txt) {
		if(e.value == txt) {
			e.value = '';
		}
	},
	
	recoverText: function(e, txt) {
		if(e.value.length == 0) {
			e.value = txt;
		}
	},
				
	/**
	 * Visitor login
	 *
	 * @param string element
	 * @param string seed
	 */
	visitorLogin: function(element, login, password, seed) {
		
		if(seed) {
			var handleSuccess = function(o) {
				if(o.responseText == 'true') {
					Rits.Util.reload();
				} else if(o.responseText != 'false'){
					location.href = o.responseText;
				} else {
					alert(Rits.Language.get('admin.login.error'));
					Rits.Ajax.hideOverlay(element);
				}
			}
			var handleFailure = function(o) {
				alert(Rits.Language.get('admin.login.error'));
				Rits.Ajax.hideOverlay(element);
			}
			var callback = {
				success: handleSuccess,
				failure: handleFailure
			}
						
			login = $(login).value;			
			
			password = Rits.Crypt.md5(Rits.Crypt.md5($(password).value)+seed);
						
			var request = YAHOO.util.Connect.asyncRequest('GET', '/login/?LOGIN='+login+'&PASSWORD='+password, callback);
			
		} else {
						
			var handleSuccess = function(o) {
				if(o.responseText !== undefined) {										
					Rits.Site.visitorLogin(element, login, password, o.responseText);
				}
			}
			var handleFailure = function(o) {
				alert(Rits.Language.get('admin.login.error'));
			}
			var callback = {
				success: handleSuccess,
				failure: handleFailure
			}
									
			if(!(Rits.Validate.isEmail($(login).value) && $(password).value.length)) {
				alert(Rits.Language.get('validation.message.form'));
				return;
			}
			Rits.Ajax.displayOverlay(element);	
			
			var request = YAHOO.util.Connect.asyncRequest('GET', '/login/seed/', callback);
		}
	},

	sendCommentary: function(layer, form) {		
		var handleSuccess = function(o) {
			Rits.Ajax.hideOverlay(layer);
			if(o.responseText == 'true') {
				alert(Rits.Language.get('site.commentary.success'));
				form.COM_NAME.value = '';
				form.AUX_ACCEPT.checked = false;
				form.COM_DESCRIPTION.value = '';
				form.COM_DESCRIPTION_Counter.value = '500';
			} else {					
				alert(Rits.Language.get('site.commentary.error'));
			} 
		}
		var handleFailure = function(o) {
			alert(Rits.Language.get('site.commentary.error'));
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}		
				
		var name = form.COM_NAME.value;		
		var accept = form.AUX_ACCEPT.checked;		
		var message = form.COM_DESCRIPTION.value;
		
		
		if(!(name.length && message.length && accept)) {
			alert(Rits.Language.get('validation.message.form'));			
		} else {
		
			var url = '/commentary/save/';
			Rits.Ajax.displayOverlay(layer);
			Rits.Ajax.submitForm(form, url, callback, true);
		}
		
	},

	sendContact: function(layer, form) {		
		var handleSuccess = function(o) {
			Rits.Ajax.hideOverlay(layer);
			if(o.responseText == 'true') {
				alert(Rits.Language.get('site.contact.success'));
				form.CON_NAME.value = '';				
				form.CON_EMAIL.value = '';				
				form.CON_PHONE.value = '';				
				form.CON_DESCRIPTION.value = '';				
			} else {					
				
				alert(Rits.Language.get('site.contact.error'));
			} 
		}
		var handleFailure = function(o) {
			alert(Rits.Language.get('site.contact.error'));
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}		
				
		var name = form.CON_NAME.value;		
		var email = form.CON_EMAIL.value;				
		
		var message = form.CON_DESCRIPTION.value;
		
		if(!(name.length && message.length && Rits.Validate.isEmail(email))) {
			alert(Rits.Language.get('validation.message.form'));			
		} else {
		
			var url = '/contact/save/ajax/';			
			Rits.Ajax.displayOverlay(layer);
			Rits.Ajax.submitForm(form, url, callback, true);
		}
		
	},
    
    /**
     * Client login
     *
     * @param string element
     * @param string seed
     */
    clientLogin: function(element, login, password, seed) {
        
        if(seed) {
            var handleSuccess = function(o) {
                if(o.responseText == 'true') {
                    Rits.Util.reload();
                } else if(o.responseText != 'false') {
                    location.href = o.responseText;
                } else {
                    alert(Rits.Language.get('admin.login.error'));
                    Rits.Ajax.hideOverlay(element);
                }
            }
            var handleFailure = function(o) {
                alert(Rits.Language.get('admin.login.error'));
                Rits.Ajax.hideOverlay(element);
            }
            var callback = {
                success: handleSuccess,
                failure: handleFailure
            }
            
            login = $(login).value;
            
            password = Rits.Crypt.md5(Rits.Crypt.md5($(password).value)+seed);
                    
            var request = YAHOO.util.Connect.asyncRequest('GET', '/account/login/?LOGIN='+login+'&PASSWORD='+password, callback);
            
        } else {
                        
            var handleSuccess = function(o) {
                if(o.responseText !== undefined) {                                        
                    Rits.Site.clientLogin(element, login, password, o.responseText);
                }
            }
            var handleFailure = function(o) {
                alert(Rits.Language.get('admin.login.error'));
            }
            var callback = {
                success: handleSuccess,
                failure: handleFailure
            }
                           
            if(!(Rits.Validate.isEmail($(login).value) && $(password).value.length)) {
                alert(Rits.Language.get('validation.message.form'));
                return;
            }
            Rits.Ajax.displayOverlay(element);
            
            var request = YAHOO.util.Connect.asyncRequest('GET', '/account/login/seed/', callback);
        }
    },
    
	saveAdvertiseForm: function(form, content, layer, url_credits, url_refreshday, layer_refresh, url) {
		
		if(!url) {
			url = form.action;
		}
		
		var uploadHandler = {
				upload: function(o) {				
					Rits.Ajax.hideOverlay(layer);				
					if(o.responseText == 'false') {
		            	alert(Rits.Language.get('form.save.error'));
					} else {
						$(content).innerHTML = o.responseText;
						Rits.Site.loadAdvertiseAjax(url_credits, 'credits-total');
						Rits.Site.loadAdvertiseAjax(url_refreshday, layer_refresh);
					}
				}
			};
				
		Rits.Ajax.displayOverlay(layer);
		Rits.Ajax.submitForm(form, url, uploadHandler);
	},
	
	loadAdvertiseAjax: function(url, layer) {
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$D.get(layer).innerHTML = o.responseText;
			} else {									
				
			} 
		}
		var handleFailure = function(o) {
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}		
		var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
	}
	

};

