﻿var bahaiCal = {
	updateStatus:0,
	currentLang:'',
    openView: function(_lang){
		var extendedLayer = new Element('div',{'id':'openview','align':'center'}).setStyle({
			/*
			width:$('mainContainer').getWidth()+'px',
            height:$('mainContainer').getHeight()+'px',
			left:$('mainContainer').offsetLeft+'px',
			top:$('mainContainer').offsetTop+'px',
			*/
			position:'relative'
		}).addClassName('box').insert(new Element('img',{'src':'images/cadr_main_top_left_03.gif','width':'3','height':'3'}).addClassName('cadr1tl1'))
		.insert(new Element('img',{'src':'images/cadr_main_top_right_03.gif','width':'3','height':'3'}).addClassName('cadr1tr1'))
		.insert(new Element('img',{'src':'images/cadr_main_bottom_left_03.gif','width':'3','height':'3'}).addClassName('cadr1bl1'))
		.insert(new Element('img',{'src':'images/cadr_main_bottom_right_03.gif','width':'3','height':'3'}).addClassName('cadr1br1'));
		
		var comTbl = new Element('table',{'cellpadding':'5','cellspacing':'0','border':'0','dir':(_lang=='fa'?'rtl':'ltr')}).addClassName(_lang=='fa'?'commentTableFa':'commentTableEn');
		var comTb = new Array(4);
		var comTr = new Array(4);
		var comTd = new Array(4);
		var comTitlesEn = ['Name','Email','Message'];
		var comTitlesFa = ['&#1606;&#1575;&#1605;','&#1662;&#1587;&#1578; &#1575;&#1604;&#1705;&#1578;&#1585;&#1608;&#1606;&#1740;&#1705;','&#1605;&#1578;&#1606; &#1662;&#1740;&#1575;&#1605;'];
		var btnTextFa = ['\u0627\u0631\u0633\u0640\u0640\u0627\u0644','\u0644\u0640\u063A\u0640\u0648'];
		var btnTextEn = ['Submit','Cancel'];
		for(var i=0;i<comTb.length-1;i++)
		{
			comTb[i] = new Element('tbody')
			comTr[i] = new Element('tr');
			comTd[i] = new Array('3');
			for(var itd=0;itd<3;itd++){
				var rowData;
				switch(itd){
					case 1:
						rowData = ':';
					break;
					case 2:
						if(i==2){
							rowData = new Element('textarea',{'name':'note','id':'note'}).addClassName(_lang=='fa'?'inputTextFa':'inputTextEn').setStyle({
								width:'200px',
								height:'200px'
							});
						}else{
							var fieldId = i==0?'name':'email';
							rowData = new Element('input',{'type':'text','dir':(i==1?'ltr':'rtl'),'name':fieldId,'id':fieldId}).addClassName(_lang=='fa'?'inputTextFa':'inputTextEn').setStyle({
								width:'200px'
							});
						}
					break;
				}
				comTd[i][itd] = new Element('td',{'valign':'top'}).update(itd==0?(_lang=='fa'?comTitlesFa[i]:comTitlesEn[i]):rowData);
				comTr[i].insert(comTd[i][itd]);
			}
			comTb[i].insert(comTr[i]);
			comTbl.insert(comTb[i]);
		}
		comTbl.insert(new Element('tbody').insert(new Element('tr').insert(new Element('td',{'colspan':'2'})).insert(new Element('td',{'align':'center'}).insert(
			new Element('input',{'type':'button','name':'sendButton','id':'sendButton','value':(_lang=='fa'?btnTextFa[0]:btnTextEn[0])}).addClassName(_lang=='fa'?'inputBtnFa marginL10':'inputBtnEn marginR10').observe('click',bahaiCal.sendComment)
		).insert(
			new Element('input',{'type':'button','name':'resetButton','id':'resetButton','value':(_lang=='fa'?btnTextFa[1]:btnTextEn[1])}).addClassName(_lang=='fa'?'inputBtnFa':'inputBtnEn').observe('click',bahaiCal.closeView)
		))));
		extendedLayer.insert(comTbl);
		$('contents').hide();
		$('datecontainer').insert(extendedLayer);
		if(!Prototype.Browser.IE){
			for (var iLinks = 0; iLinks < $$('.openviewlink').length; iLinks++) {
				$$('.openviewlink')[iLinks].onclick = null;
				$$('.openviewlink')[iLinks].stopObserving('click');
				$$('.openviewlink')[iLinks].observe('click', bahaiCal.closeView);
			}
		}
    },
    closeView: function(){
		if($('openview')!=null){
	        $('openview').remove();
		}
		for(var iLink=0;iLink<$$('.openviewlink').length;iLink++){
			$$('.openviewlink')[iLink].observe('click',bahaiCal.openView);
		}
		$('contents').show();
    },
    sendComment: function(){
        new Ajax.Request('send.aspx',{
			onComplete: function(_req){
				if(200 == _req.status){
					if(_req.responseText.match('ok')){
						$('openview').update('<br />Your message has been sent successfully<br /><br />&#1662;&#1740;&#1575;&#1605; &#1588;&#1605;&#1575; &#1576;&#1575; &#1605;&#1608;&#1601;&#1602;&#1740;&#1578; &#1575;&#1585;&#1587;&#1575;&#1604; &#1588;&#1583;<br /><br />');
						new PeriodicalExecuter(function(pe) {
							bahaiCal.closeView();
							pe.stop();
						},5)
					}else{
						$('openview').update('<br />Error<br />an unexpected error occured!<br /><br />&#1582;&#1591;&#1575;<br />&#1740;&#1705; &#1582;&#1591;&#1575; &#1583;&#1585; &#1575;&#1585;&#1587;&#1575;&#1604; &#1662;&#1740;&#1575;&#1605; &#1585;&#1582; &#1583;&#1575;&#1583;&#1607; &#1575;&#1587;&#1578;<br /><br />');
						new PeriodicalExecuter(function(pe) {
							bahaiCal.closeView();
							pe.stop();
						},5)
					}
				}else if(500 == _req.status){
					$('openview').update('<br />Error<br />an unexpected error occured!<br /><br />&#1582;&#1591;&#1575;<br />&#1740;&#1705; &#1582;&#1591;&#1575; &#1583;&#1585; &#1575;&#1585;&#1587;&#1575;&#1604; &#1662;&#1740;&#1575;&#1605; &#1585;&#1582; &#1583;&#1575;&#1583;&#1607; &#1575;&#1587;&#1578;<br /><br />');
					new PeriodicalExecuter(function(pe) {
							bahaiCal.closeView();
							pe.stop();
					},5)
				}
			},
			onCreate:function(){
				$('sendButton').disable();
				$('sendButton').value = $F('sendButton')=='Submit'?'Sending...':'\u0627\u0631\u0633\u0627\u0644...';
				$('resetButton').disable();
			},
			parameters:{'name':encodeURI($F('name')),'email':encodeURI($F('email')),'note':encodeURI($F('note'))}
		});
    },
	commentForm:function(){
		var comform = new Element('form',{'action':'#','method':'post'});
		
		return "";
	}
}

var formTextField =
{
    setAsDefault: function(_fld,_val){
        $(_fld).value = _val;
        $(_fld).observe('focus',function(){
            if($F(_fld)==_val)
            {
                $(_fld).addClassName('changedfieldValue');
                $(_fld).removeClassName('defaultfieldValue');
                $(_fld).removeClassName('errorfieldValue');
                $(_fld).value = '';
            }
        });
        $(_fld).observe('blur',function(){
            if($F(_fld).empty())
            {
                $(_fld).addClassName('defaultfieldValue');
                $(_fld).removeClassName('changedfieldValue');
                $(_fld).removeClassName('errorfieldValue');
                $(_fld).value = _val;
            }
        });
    },
    resetFormat: function(_fld){
        $(_fld).observe('click',function(){
           $('newsletterpreflang').removeClassName('txtRedBold'); 
        });
    }
}

var newsletter = {
	create: function(_container,_ln){
		var strTexts;
        if(_ln==1){
            strTexts = ['نام شما','پست الکترونیک'];
        }
		else{
            strTexts = ['Your Name','Your E-mail Address'];
        }
        var strError = (_ln==1)?'خطا در اطلاعات ورودی':'Erorr in entered data';
        var elmDir = (_ln==1)?'rtl':'ltr';
		var strLangTxt = (_ln==1)?'انتخاب زبان خبرنامه':'Preferred Language';
		var strBtnTxt = (_ln==1)?'ثبت نام':'Register';
		var strLang = (_ln==1)?'fa':'en';
		$(_container).insert(new Element('div').insert(new Element('div').insert(new Element('input',{'type':'text','id':'newslettername','dir':elmDir}).addClassName('defaultfieldValue boxWidth150'))));
		$(_container).insert(new Element('div').insert(new Element('div').insert(new Element('input',{'type':'text','id':'newsletteremail'}).addClassName('defaultfieldValue boxWidth150'))));
		formTextField.setAsDefault('newslettername',strTexts[0]);
		formTextField.setAsDefault('newsletteremail',strTexts[1]);
		$(_container).insert(new Element('div',{'class':'newsletterTxt'}).insert(new Element('div',{'dir':elmDir}).addClassName('solidBox').insert(new Element('div',{'dir':elmDir}).setStyle({
			'paddingBottom': '5px'
		}).insert(new Element('span',{'id':'newsletterpreflang'}).update(strLangTxt))).insert(
		new Element('div',{'dir':'rtl','align':'center'}).insert(new Element('label').insert(
			new Element('input',{'type':'checkbox','id':'newsletterlangfa','dir':elmDir,'value':'1'})
		).insert(new Element('span').setStyle({'marginLeft':'2px'}).update('فارسی'))).insert(new Element('span').update('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;')).insert(
			new Element('label').insert(new Element('span').setStyle({'marginRight':'2px'}).update('English')).insert(
				new Element('input',{'type':'checkbox','id':'newsletterlangen','dir':elmDir,'value':'0'})
			)
		))
		).insert(new Element('div').setStyle({
			'padding': '2px'
		}).insert(new Element('input',{'type':'hidden','id':'langtype','value':_ln})).insert(
			new Element('input',{
				'type':'button','id':'newsletterbtn','dir':elmDir,'value':strBtnTxt
			}).addClassName('newsletterbtn').observe('click',function(){
				newsletter.fire(strLang);
			})
		)));
	},
    fire: function(_ln){
        (_ln=='' || _ln==null)?_ln='en':'';
        var strTexts;
        if(_ln=='fa'){
            strTexts = ['نام شما','پست الکترونیک'];
        }
		else{
            strTexts = ['Your Name','Your E-mail Address'];
        }
        var strError = (_ln=='fa')?'خطا در اطلاعات ورودی':'Erorr in entered data';
        
        if($F('newslettername').empty() || $F('newslettername')==strTexts[0] || $F('newslettername')==strError)
        {
            $('newslettername').addClassName('errorfieldValue');
            $('newslettername').removeClassName('changedfieldValue');
            $('newslettername').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('newslettername',strError);
        }
        else if($F('newsletteremail').empty() || $F('newsletteremail')==strTexts[1] || $F('newsletteremail')==strError || $F('newsletteremail').split('@').length!=2 || $F('newsletteremail').split('.').length<2 || $F('newsletteremail').length<7 || $F('newsletteremail').indexOf('@')<1)
        {
            $('newsletteremail').addClassName('errorfieldValue');
            $('newsletteremail').removeClassName('changedfieldValue');
            $('newsletteremail').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('newsletteremail',strError);
        }
        else if(!$('newsletterlangfa').checked && !$('newsletterlangen').checked)
        {
            $('newsletterpreflang').addClassName('txtRedBold');
            formTextField.resetFormat('newsletterlangfa');
            formTextField.resetFormat('newsletterlangen');
        }
        else {
            newsletter.post(_ln);
        }
    },
    post: function(_ln){
        var strSuccess = (_ln=='fa')?'با سپاس، نامه ای حاوی لینک فعال سازی به ایمیل شما ارسال شده است لطفا ملاحظه نمایید.':'Thank you, an e-mail containing activation link has been sent to your email address.';
        var strErrorMsg = (_ln=='fa')?'خطایی در ثبت اطلاعات رخ داد، شما میتوانید عضویت خود را به وسیله ارسال ایمیل به newsletter@bahaical.org درخواست نمایید.':'Unfortunately we are not able to proceed your membership at this time, please send an email to newsletter@bahaical.org to apply for newsletter membership.';
        var strLoading = (_ln=='fa')?'در حال ارسال درخواست...':'Sending your information...';
        var strCheckUser = (_ln=='fa')?'این آدرس پست الکترونیک قبلاّ ثبت گردیده است':'This email address already registered';
		var strUserEmail = $F('newsletteremail');
		var strTryAgain = (_ln=='fa')?'دوباره سعی کنید':'Try again';
		var intLn = (_ln=='fa')?1:0;
		var newsletterLang = 0;
        if($('newsletterlangfa').checked && !$('newsletterlangen').checked)
        {
            newsletterLang = 1;
        }
        else if(!$('newsletterlangfa').checked && $('newsletterlangen').checked)
        {
            newsletterLang = 0;
        }
        else if($('newsletterlangfa').checked && $('newsletterlangen').checked)
        {
            newsletterLang = 2;
        }
        new Ajax.Request('newsletter.aspx',{
            parameters:{'newslettername':toUnicode($F('newslettername')),'newsletteremail':$F('newsletteremail'),'langtype':newsletterLang},
            onSuccess: function(req) {
                if (200 == req.status){
                    if(req.responseText.match('Error Page')){
                        $('newsletterbodydiv').update('<div class=\"responsedivloading\">'+strErrorMsg+'<br /><br /><a href=\"javascript:void(0)\" onclick=\"$(\'newsletterbodydiv\').update(\'\');newsletter.create(\'newsletterbodydiv\','+intLn+');\" class=\"redlink\">'+strTryAgain+'</a></div>');
                    }
                    else if(req.responseText.match('mojooood')){
                        $('newsletterbodydiv').update('<div class=\"responsedivloading\">'+strCheckUser+':<br /><br /><strong>'+strUserEmail+'</strong><br /><br /><a href=\"javascript:void(0)\" onclick=\"$(\'newsletterbodydiv\').update(\'\');newsletter.create(\'newsletterbodydiv\','+intLn+');\" class=\"redlink\">'+strTryAgain+'</a></div>');
                    }
                    else {
                        $('newsletterbodydiv').update('<div class=\"responsediv\">'+strSuccess+'</div>');
                    }
                }
            },
            onCreate: function() {
                $('newsletterbodydiv').update('<div class=\"responsedivloading\"">'+strLoading+'</div>');
            }
        })
    }   
}

var sendtofriends = {
    fire: function(_ln){
        (_ln=='' || _ln==null)?_ln='en':'';
        var strTexts;
        if(_ln=='fa'){
            strTexts = ['نام شما','پست الکترونیک','نام گیرنده','پست الکترونیک گیرنده','متن پیام شما'];
        }else{
            strTexts = ['Your Name','Your E-mail Address','Friend\'s Name','Friend\'s E-mail Address','Your message'];
        }
        var strError = (_ln=='fa')?'خطا در اطلاعات ورودی':'Erorr in entered data';
        
        if($F('tofriendsyourname').empty() || $F('tofriendsyourname')==strTexts[0] || $F('tofriendsyourname')==strError)
        {
            $('tofriendsyourname').addClassName('errorfieldValue');
            $('tofriendsyourname').removeClassName('changedfieldValue');
            $('tofriendsyourname').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('tofriendsyourname',strError);
        }
        else if($F('tofriendsyouremail').empty() || $F('tofriendsyouremail')==strTexts[1] || $F('tofriendsyouremail')==strError || $F('tofriendsyouremail').split('@').length!=2 || $F('tofriendsyouremail').split('.').length<2 || $F('tofriendsyouremail').length<7 || $F('tofriendsyouremail').indexOf('@')<1)
        {
            $('tofriendsyouremail').addClassName('errorfieldValue');
            $('tofriendsyouremail').removeClassName('changedfieldValue');
            $('tofriendsyouremail').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('tofriendsyouremail',strError);
        }
        else if($F('tofriendsname').empty() || $F('tofriendsname')==strTexts[2] || $F('tofriendsname')==strError)
        {
            $('tofriendsname').addClassName('errorfieldValue');
            $('tofriendsname').removeClassName('changedfieldValue');
            $('tofriendsname').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('tofriendsname',strError);
        }
        else if($F('tofriendsemail').empty() || $F('tofriendsemail')==strTexts[3] || $F('tofriendsemail')==strError || $F('tofriendsemail').split('@').length!=2 || $F('tofriendsemail').split('.').length<2 || $F('tofriendsemail').length<7 || $F('tofriendsemail').indexOf('@')<1)
        {
            $('tofriendsemail').addClassName('errorfieldValue');
            $('tofriendsemail').removeClassName('changedfieldValue');
            $('tofriendsemail').removeClassName('defaultfieldValue');
            formTextField.setAsDefault('tofriendsemail',strError);
        }
        else {
            sendtofriends.post(_ln);
        }
    },
    post: function(_ln){
        var strSuccess = (_ln=='fa')?'&#1576;&#1575; &#1578;&#1588;&#1705;&#1585;&#1548;<br />&#1583;&#1593;&#1608;&#1578;&#1606;&#1575;&#1605;&#1607; &#1588;&#1605;&#1575; &#1576;&#1575; &#1605;&#1608;&#1601;&#1602;&#1740;&#1578; &#1575;&#1585;&#1587;&#1575;&#1604; &#1711;&#1585;&#1583;&#1740;&#1583;.':'Thank you,<br />Your invitation e-mail has been sent to your friend successfully.';
        var strErrorMsg = (_ln=='fa')?'&#1605;&#1578;&#1575;&#1587;&#1601;&#1575;&#1606;&#1607; &#1582;&#1591;&#1575;&#1740;&#1740; &#1583;&#1585; &#1575;&#1585;&#1587;&#1575;&#1604; &#1585;&#1582; &#1583;&#1575;&#1583;&#1607; &#1575;&#1587;&#1578;&#1548; &#1604;&#1591;&#1601;&#1575;&#1611; &#1605;&#1585;&#1575;&#1578;&#1576; &#1585;&#1575; &#1575;&#1586; &#1591;&#1585;&#1740;&#1602; &#1662;&#1587;&#1578; &#1575;&#1604;&#1705;&#1578;&#1585;&#1608;&#1606;&#1740;&#1705; contact@bahaical.org &#1576;&#1607; &#1605;&#1575; &#1575;&#1591;&#1604;&#1575;&#1593; &#1583;&#1607;&#1740;&#1583;. &#1576;&#1575; &#1587;&#1662;&#1575;&#1587;':'Unfortunately we are not able to proceed your request at this time due to an unexpected occured error,<br />Please inform us about this issue by sending an email to contact@bahaical.org, thank you.';
        var strLoading = (_ln=='fa')?'&#1583;&#1585; &#1581;&#1575;&#1604; &#1575;&#1585;&#1587;&#1575;&#1604; &#1583;&#1585;&#1582;&#1608;&#1575;&#1587;&#1578;...':'Sending your information...';
        new Ajax.Request('sendtofriends.aspx',{
            parameters:{'tofriendsyourname':toUnicode($F('tofriendsyourname')),'tofriendsyouremail':$F('tofriendsyouremail'),'tofriendsname':toUnicode($F('tofriendsname')),'tofriendsemail':$F('tofriendsemail'),'frlangtype':$F('frlangtype'),'tofriendsmsg':toUnicode($F('tofriendsmsg'))},
            onSuccess: function(req) {
                if (200 == req.status){
                    if(req.responseText.match('Error Page')){
                        $('tofriendsbodydiv').update('<div class=\"responsedivloading\">'+strErrorMsg+'</div>');
                    }
                    else {
                        $('tofriendsbodydiv').update('<div class=\"responsediv\">'+strSuccess+'</div>');
                    }
                }
            },
            onCreate: function() {
                $('tofriendsbodydiv').update('<div class=\"responsedivloading\"">'+strLoading+'</div>');
            }
        })
    }   
}

function toUnicode(_str)
{
    var strOutput = "";
    for(i=0;i<_str.length;i++)
    {
        strOutput +="&#"+_str.charCodeAt(i)+";"
    }
    return strOutput;
}

var suggestNewEvent = {
    fire: function(_ln){
        (_ln=='' || _ln==null)?_ln='en':'';
        var strErrorText = (_ln=='fa')?'<b>خطـا :</b> لطفاً':'<b>Error :</b> Please re-enter the';
        var strErrorTextRest = (_ln=='fa')?' را مجدداً وارد نمایید.':'';
        if($F('eventdateday')=='0' || $F('eventdateday').empty() || $F('eventdatemonth')=='0' || $F('eventdatemonth').empty())
        {
            $('eventreqstatus').update(strErrorText+((_ln=='fa')?' تاریخ واقعه':' Event Date')+strErrorTextRest);
            $('eventdateday').focus();
        }
        else if($F('eventtitle').empty() || $F('eventtitle').length<3)
        {
            $('eventreqstatus').update(strErrorText+((_ln=='fa')?' عنوان واقعه':' Event Title')+strErrorTextRest);
            $('eventtitle').focus();
        }
        else if($F('eventyourname').empty())
        {
            $('eventreqstatus').update(strErrorText+((_ln=='fa')?' نام':' Your Name')+strErrorTextRest);
            $('eventyourname').focus();
        }
        else if($F('eventyouremail').empty() || $F('eventyouremail').split('@').length!=2 || $F('eventyouremail').split('.').length<2 || $F('eventyouremail').length<7 || $F('eventyouremail').indexOf('@')<1)
        {
            $('eventreqstatus').update(strErrorText+((_ln=='fa')?' پست الکترونیک':' Your E-mail Address')+strErrorTextRest);
            $('eventyouremail').focus();
        }
        else
        {
            suggestNewEvent.post(_ln);
        }
    },
    post: function(_ln){
        var strSuccess = (_ln=='fa')?'&#1576;&#1575;&#32;&#1587;&#1662;&#1575;&#1587;&#32;&#1608;&#1575;&#1602;&#1593;&#1607;&#32;&#1580;&#1583;&#1740;&#1583;&#32;&#1576;&#1575;&#32;&#1605;&#1608;&#1601;&#1602;&#1740;&#1578;&#32;&#1575;&#1585;&#1587;&#1575;&#1604;&#32;&#1711;&#1585;&#1583;&#1740;&#1583;.':'Thank you, new event has been submited successfully.';
        var strErrorMsg = (_ln=='fa')?'&#1605;&#1578;&#1575;&#1587;&#1601;&#1575;&#1606;&#1607;&#32;&#1582;&#1591;&#1575;&#1740;&#1740;&#32;&#1583;&#1585;&#32;&#1575;&#1585;&#1587;&#1575;&#1604;&#32;&#1585;&#1582;&#32;&#1583;&#1575;&#1583;&#1607;&#32;&#1575;&#1587;&#1578;.':'Unfortunately we are not able to proceed your request at this time due to an unexpected occured error.';
        var strLoading = (_ln=='fa')?'&#1583;&#1585;&#32;&#1581;&#1575;&#1604;&#32;&#1579;&#1576;&#1578;&#32;&#1608;&#32;&#1575;&#1585;&#1587;&#1575;&#1604;&#32;&#46;&#46;&#46;...':'Adding new event...';
        new Ajax.Request('suggestnewevent.aspx',{
            parameters:{
                'eventdateday':toUnicode($F('eventdateday')),
                'eventdatemonth':toUnicode($F('eventdatemonth')),
                'eventdateyear':toUnicode($F('eventdateyear')),
                'eventtitle':toUnicode($F('eventtitle')),
                'eventsummery':toUnicode($F('eventsummery')),
                'eventyourname':toUnicode($F('eventyourname')),
                'eventyouremail':$F('eventyouremail'),
                'eventfrlangtype':$F('eventfrlangtype')
            },
            onSuccess: function(req) {
                if (200 == req.status){
                    if(req.responseText.match('Error Page')){
                        $('eventreqstatus').update(strErrorMsg);
                    }
                    else {
                        $('eventreqstatus').update(strSuccess);
                        
                        $('eventyouremail').value = '';
                        $('eventyourname').value = '';
                        $('eventtitle').value = '';
                        $('eventsummery').value = '';
                        $('eventdateday').value = '0';
                        $('eventdatemonth').value = '0';
                        $('eventdateyear').value = '0';
                    }

                    $('addeventbtn').enable();
                    
                    $('eventyouremail').removeClassName('resetFieldValue');
                    $('eventyouremail').addClassName('changedfieldValue');

                    $('eventyourname').removeClassName('resetFieldValue');
                    $('eventyourname').addClassName('changedfieldValue');

                    $('eventtitle').removeClassName('resetFieldValue');
                    $('eventtitle').addClassName('changedfieldValue');

                    $('eventsummery').removeClassName('resetFieldValue');
                    $('eventsummery').addClassName('changedfieldValue');

                    $('eventdateday').removeClassName('resetFieldValue');
                    $('eventdateday').addClassName('changedfieldValue');

                    $('eventdatemonth').removeClassName('resetFieldValue');
                    $('eventdatemonth').addClassName('changedfieldValue');

                    $('eventdateyear').removeClassName('resetFieldValue');
                    $('eventdateyear').addClassName('changedfieldValue');
                }
            },
            onCreate: function() {
                $('eventreqstatus').update(strLoading);
                
                $('addeventbtn').disable();

                $('eventyouremail').removeClassName('changedfieldValue');
                $('eventyouremail').addClassName('resetFieldValue');

                $('eventyourname').removeClassName('changedfieldValue');
                $('eventyourname').addClassName('resetFieldValue');

                $('eventtitle').removeClassName('changedfieldValue');
                $('eventtitle').addClassName('resetFieldValue');

                $('eventsummery').removeClassName('changedfieldValue');
                $('eventsummery').addClassName('resetFieldValue');

                $('eventdateday').removeClassName('changedfieldValue');
                $('eventdateday').addClassName('resetFieldValue');

                $('eventdatemonth').removeClassName('changedfieldValue');
                $('eventdatemonth').addClassName('resetFieldValue');

                $('eventdateyear').removeClassName('changedfieldValue');
                $('eventdateyear').addClassName('resetFieldValue');
            }
        })
    }
}

var registeration = {
	valid:false,
	registerFields:['registerFirstName',
					'registerLastName',
					'registerEmail',
					'registerPassword',
					'registerCnfrmPassword',
					'registerDefaultLang',
					'registerDefaultDate'],
	registerMsgLblEn:['First Name',
					'Last Name',
					'E-mail',
					'Password',
					'Confirm Password',
					'Default Language',
					'Default Date'],
	registerMsgLblFa:['نام',
					'نام خانوادگی',
					'پست الکترونیک',
					'رمز عبور',
					'تکرار رمز عبور',
					'زبان پیش فرض',
					'تاریخ پیش فرض'],
	validate:function(_lang){
		registeration.doReset();
		for(var iFld=0;iFld<registeration.registerFields.length;iFld++)
		{
			if($F(registeration.registerFields[iFld]+'Fld').empty() ||
				(iFld==2 &&
				($F(registeration.registerFields[iFld]+'Fld').length < 7 ||
				$F(registeration.registerFields[iFld]+'Fld').indexOf('@') < 1 ||
				$F(registeration.registerFields[iFld]+'Fld').split('@').length != 2 ||
				$F(registeration.registerFields[iFld]+'Fld').indexOf('.') < 1)
				) ||
				(iFld==4 &&
				($F(registeration.registerFields[iFld]+'Fld') != $F(registeration.registerFields[iFld-1]+'Fld')))
				)
			{
				registeration.valid = false;
				$(registeration.registerFields[iFld]+'St').insert(new Element('img',{
					'src':'images/icon_fieldError_02.gif',
					'width':'15',
					'height':'16',
					'border':'0',
					'align':'absmiddle'
				}).addClassName('registerErrorIcon')).insert(new Element('span').addClassName('txtColorRed').update(_lang==1?('خطا در '+registeration.registerMsgLblFa[iFld]):('Error in '+registeration.registerMsgLblEn[iFld])));
			}
		}
		registeration.checkmail();
		if($F('registerEmailValidateFld')==1)
		{
		    registeration.valid = false;
		    $(registeration.registerFields[2]+'St').insert(new Element('img',{
				'src':'images/icon_fieldError_02.gif',
				'width':'15',
				'height':'16',
				'border':'0',
				'align':'absmiddle'
			}).addClassName('registerErrorIcon')).insert(new Element('span').addClassName('txtColorRed').update(_lang==1?('این آدرس قبلاٌ ثبت نام شده است'):('This e-mail already exists')));;
		}
		if(registeration.valid==true)
		{
		    registeration.post(_lang);
		}
	},
	doReset:function(){
		for (var iFld = 0; iFld < registeration.registerFields.length; iFld++)
		{
			$(registeration.registerFields[iFld]+'St').update('');
		}
		registeration.valid = true;
	},
	formReset:function(){
		for (var iFld = 0; iFld < registeration.registerFields.length; iFld++)
		{
			$(registeration.registerFields[iFld]+'Fld').value = '';
		}
	},
	checkmail:function(){
	    var returnMailExistance;
		new Ajax.Request('services/JSONregisteration.aspx?t=1',{
			parameters:{'reqemail':$F(registeration.registerFields[2]+'Fld')},
            onSuccess: function(req) {
                if(req.responseText.match('Error Page')){
                    alert('an unexpected error occured while processing your request\n\nplease try again a few later');
                }
                else {
                    returnMailExistance = req.responseText;
                    if(returnMailExistance=='true')
                    {
                        $('registerEmailValidateFld').value = 1;
                    }
                    else
                    {
                        $('registerEmailValidateFld').value = 0;
                    }
                }
            }
		});
	},
	post:function(_ln){
	    new Ajax.Request('services/JSONregisteration.aspx?t=2',{
			parameters:{
			    'registerFirstNameField':toUnicode($F(registeration.registerFields[0]+'Fld')),
			    'registerLastNameField':toUnicode($F(registeration.registerFields[1]+'Fld')),
			    'registerEmailField':$F(registeration.registerFields[2]+'Fld'),
			    'registerPasswordField':$F(registeration.registerFields[3]+'Fld'),
			    'registerDefaultLangField':$F(registeration.registerFields[5]+'Fld'),
			    'registerDefaultDateField':$F(registeration.registerFields[6]+'Fld')
			},
            onSuccess: function(addreq) {
                if(addreq.responseText.match('Error Page')){
                    alert('an unexpected error occured while processing your request\n\nplease try again a few later');
                }
                else if(addreq.responseText.match('##AddIsDone##')) {
                    registeration.formReset();
                    if(_ln==1)
                    {
                        window.open('members.aspx?ln=fa','_top');
                    }
                    else
                    {
                        window.open('members.aspx','_top');
                    }
                }
            }
		});
	}
}
