﻿$(document).ready(function() {
    //affichage photo
	var param_arr = top.location.search.substr(1).split("&");
	var zobj = new Object();
	for(var i=0; i<param_arr.length; i++){
		var param = param_arr[i].split("=");
		zobj[param[0]] = param[1];
	}
	if(zobj.urlphoto && zobj.urlphoto != ""){
		$(".uploadPhoto input[type=text]").each(function() {
			if (this.name && this.name.indexOf("VIP_photo_URL") > -1) {
				this.value = zobj.urlphoto;
			}
			else if (this.name && this.name.indexOf("VIP_photo") > -1) {
				this.value = "1";
			}
		});
		document.getElementById("myPhoto").src = zobj.urlphoto;
	}
	//spécial minisites
	if(document.getElementById("minisites") && gTypeProfile == "VIP"){
		top.location.replace("@@@successURL@@@");
	}
	//fin minisites
    (function($) {   
    var D = this.document;
    var myDatas = D.getElementById('myDatasMandatory');
    
    var maskHeight = $('#addressFields')[0].offsetHeight + $('#mobileField')[0].offsetHeight;
	var IE6top = (navig.IE6) ? 92 : 0;
	var IE6left = (navig.IE6) ? 241 : 0;
    var addressFieldsMask = $('<div id="addressFieldsMask" style="display:none; height:' + maskHeight + 'px; margin-bottom:-' + (maskHeight-IE6top) + 'px; margin-left:-' + IE6left + 'px;"></div>').insertBefore('#addressFields');
    if(navig.IE6){
		/*
		var pot = parseInt(document.getElementById("addressFields").offsetTop) - 92;
		var felt =  document.getElementById("addressFields").offsetLeft;// - 241;
		$("#addressFields").css({top:pot, left:felt});
		*/
		addressFieldsMask.css('display', 'none');
	}
    var activateAddressFields = function(e) {
        var field = BOX.getFieldFromEvent(this, e.namespace);
        if (field) {
            if (field.isChecked() && (field.getValue() == '1')) {
                addressFieldsMask.css('display', 'none');
            } else {
                BOX.form('registerForm').text('address_line1').setError().setValue();
                BOX.form('registerForm').text('address_city').setError().setValue();
                BOX.form('registerForm').text('address_zip').setError().setValue();
                if(!navig.IE6) addressFieldsMask.css('display', 'block');
            }
        }
    };
    
    BOX.addFormRule('zip', /^[0-9]{5}$/);
    BOX.addFormRule('day', /^(([123][01])|([012]?[1-9]))$/);
    BOX.addFormRule('month', /^((1[012])|(0?[1-9]))$/);
    BOX.addFormRule('year', /^((19[0-9]{2})|(20[0-9]{2}))$/);
    
    var verifyDate = function() {
        var day = Number(BOX.form('registerForm').text('birthday').getValue());
        var month = Number(BOX.form('registerForm').text('birthmonth').getValue()) - 1;
        if (month < 0) {
            month = 11;
        }
        var year = Number(BOX.form('registerForm').text('birthyear').getValue());
        var date = new Date();
        var minAge = 15;
        if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
            if (year >= 1900 && year <= date.getFullYear() - minAge) {
                var original = year + '.' + month + '.' + day;
                var compute = new Date(year, month, day);
                var compare = compute.getFullYear() + '.' + compute.getMonth() + '.' + compute.getDate();
                return original == compare;
            }
            return false;
        } 
        return true;
    };
    
    BOX.form('registerForm').addValidation(function(form) {
        form.radio('title_list').mustValidate(function(field) {
            if (!field.isChecked()) {
                return l10n.errorMsg.required.civility;
            }
        });
        
        form.text('fname').mustValidate(function(field) {
            if (field.isEmpty()) {
                return l10n.errorMsg.required.fname;
            }
        });
        
        form.text('lname').mustValidate(function(field) {
            if (field.isEmpty()) {
                return l10n.errorMsg.required.lname;
            }
        });
        
        form.text('birthday').mustValidate(function(field) {
            if (field.isEmpty()) {
                return l10n.errorMsg.required.birthday;
            } else if (!field.isMatching('day')) {
                return l10n.errorMsg.invalid.birthday;
            } else if ((!form.text('birthmonth').isEmpty() && !form.text('birthmonth').isMatching('month')) || (!form.text('birthyear').isEmpty() && !form.text('birthyear').isMatching('year'))) {
                return l10n.errorMsg.invalid.birthday;
            } else {
                if (!verifyDate()) {
                    return l10n.errorMsg.invalid.birthday;
                }
            }
        });
        
        form.text('birthmonth').mustValidate(function(field) {
            if (field.isEmpty()) {
                return l10n.errorMsg.required.birthday;
            } else if (!field.isMatching('month')) {
                return l10n.errorMsg.invalid.birthday;
            } else if ((!form.text('birthday').isEmpty() && !form.text('birthday').isMatching('day')) || (!form.text('birthyear').isEmpty() && !form.text('birthyear').isMatching('year'))) {
                return l10n.errorMsg.invalid.birthday;
            } else {
                if (!verifyDate()) {
                    return l10n.errorMsg.invalid.birthday;
                }
            }
        });
        
        form.text('birthyear').mustValidate(function(field) {
            if (field.isEmpty()) {
                return l10n.errorMsg.required.birthday;
            } else if (!field.isMatching('year')) {
                return l10n.errorMsg.invalid.birthday;
            } else if ((!form.text('birthday').isEmpty() && !form.text('birthday').isMatching('day')) || (!form.text('birthmonth').isEmpty() && !form.text('birthmonth').isMatching('month'))) {
                return l10n.errorMsg.invalid.birthday;
            } else {
                if (!verifyDate()) {
                    return l10n.errorMsg.invalid.birthday;
                }
            }
        });
		
        if (!myDatas) {
	        form.text('email').mustValidate(function(field) {
	            if (field.isEmpty()) {
	                return l10n.errorMsg.required.email;
	            } else if (!field.isMatching('email')) {
	                return l10n.errorMsg.invalid.email;
	            }
	        });
	        
	        form.text('email_conf').mustValidate(function(field) {
	            if (form.text('email').isValid(true)) {
	                var value = form.text('email').getValue();
	                if (!field.isEqualTo(value)) {
	                    return l10n.errorMsg.confirm.email;
	                }
	            }
	        });
		}
        
        if (myDatas) {
            form.text('old_password').mustValidate(function(field) {
                if (!field.isEmpty() && !field.isMatching('password')) {
                    return l10n.errorMsg.invalid.pwd;
                }
            });
        }
        
        form.text('password').mustValidate(function(field) {
            if (!myDatas || (!form.text('old_password').isEmpty() && form.text('old_password').isValid(true))) {
                if (field.isEmpty()) {
                    return l10n.errorMsg.required.pwd;
                } else if (!field.isMatching('password')) {
                    return l10n.errorMsg.invalid.pwd;
                }
            }
        });
        
        form.text('password_conf').mustValidate(function(field) {
            if (form.text('password').isValid(true) && !field.isEqualTo(form.text('password').getValue())) {
                return l10n.errorMsg.confirm.pwd;
            }
        });
        //community
		form.radio('ep1rlVIP_visible_profile').mustValidate(function(field) {
		 	var sf = (this.getValue() == "1")? "" : gLabels.sfdatastring;
			form.text('stfdatas').setValue(sf);
            if (!field.isChecked()) {
                return gLabels.registerError;
            }
        });
		form.checkbox('ep1cbVIP_accept_conditions').mustValidate(function(field) {
			if (!field.isChecked()) {
				return gLabels.registerError;
            }
        });
		//fin community
        form.radio('ep0rlAccept_Offers').mustValidate(function(field) {
            if (!field.isChecked()) {
                return l10n.errorMsg.required.acceptOffers;
            }
        });
        
        form.text('address_line1').mustValidate(function(field) {
            if (form.radio('ep0rlAccept_Offers').getValue() == '1' && field.isEmpty()) {
                return l10n.errorMsg.required.street;
            }
        });
        
        form.text('address_city').mustValidate(function(field) {
            if (form.radio('ep0rlAccept_Offers').getValue() == '1' && field.isEmpty()) {
                return l10n.errorMsg.required.city;
            }
        });
        
        form.text('address_zip').mustValidate(function(field) {
            if (form.radio('ep0rlAccept_Offers').getValue() == '1') {
                if (field.isEmpty()) {
                    return l10n.errorMsg.required.zip;
                } else if (!field.isMatching('zip')) {
                    return l10n.errorMsg.invalid.zip;
                }
            }
        });
		
		if (!myDatas) {
			form.select('address_country_choice').mustValidate(function(field) {
				if (form.radio('ep0rlAccept_Offers').getValue() == '1' && field.getValue() == '-----') {
					return l10n.errorMsg.required.country;
				}
			});
		}
        
        form.radio('ep1rlNewsletter').mustValidate(function(field) {
            if (!field.isChecked()) {
                return l10n.errorMsg.required.newsletter;
            }
        });
        
        return l10n.errorMsg.form.plural;
    }, 'p.save').addListeners({
        'formError': {
            fn: LOP.addFormError
        },
        'formValid': {
            fn: function(e) {
				$.cookie('logout', 'false', {expires: 0.1});
				LOP.removeFormError.call(e.owner, e);
			}
        },
        'fieldError': {
            'fn': LOP.manageFieldError
        },
        'fieldValid': {
            'fn': LOP.manageFieldError
        },
        'fieldValid.radio.ep0rlAccept_Offers': {
            'fn': activateAddressFields
        },
        'fieldReplaced.radio.ep0rlAccept_Offers': {
            'fn': activateAddressFields
        },
        'fieldChange.radio.ep0rlAccept_Offers': {
            'fn': activateAddressFields
        }
    }).addReplacement({'maxHeight': 150});
    
    LOP.tooltips.add({
        selector: '#registerForm:hover',
        ruleNamespace: 'formError',
        rule: function(el) {
            if (el.nodeName.toLowerCase() == 'img') {
                this.setHTML(el.alt).setAttributeCache(el, 'alt').setId('toolTipError');
            }
        }
    });
    
    if (D.getElementById('errorAlreadySigned')) {
        $('#registerFormError').css('display', 'block');
    }
    
})(jQuery);     
});
// **************************************** VIP CARD POPIN DETAIL AND CONDITIONS ****************************************
function openConditions(tag){
	document.getElementById("popinConditions").style.display = "block";
	if(!navig.IE6){
		var dragPopinComment = new BOX.SimpleDrag({
			'root': '#popinConditions',
			'handle': '#popinConditionsTitle',
			'minX': -200,
			'minY': 0,
			'maxX': 814,
			'maxY': 812 - $("#popinConditions").height()
		});
	}
	LOP.scrolls.condiScroll.compute();
	if(typeof tag == 'string' && vipStats[tag]) {
        LOP.execStatCM(vipStats[tag]);
    }
}
function closeConditions(){
	document.getElementById("popinConditions").style.display = "none";
}
// **************************************** FIN VIP CARD POPIN DETAIL AND CONDITIONS ****************************************