var wcReloader;
var FTableShown = false;
var FTReloader;

dojo.require("dojo.window");

function libInit()
{
	wcInit();
        FTableInit();
}

function wcInit()
{
	dojo.byId("webcam").onload = function(){ wcHideWheel(); };
	wcHideWheel();
	wcRefreshStart();	
}

function wcHideWheel()
{
	dojo.byId("webcamReloading").style.display = 'none';
	dojo.byId("webcam").className='wc-zoomer';
}

function wcShowWheel()
{
	dojo.byId("webcamReloading").style.display = 'block';
	dojo.byId("webcam").className='wc-static';
}

function wcRefreshStart()
{
	wcReloader=setTimeout(wcRefreshStart,60000);
	dojo.byId("webcam").src = "http://old.aerograd.ru/webcam/manifest.jpg?rnd=" + Math.random();
	wcShowWheel();
}

function FTableInit()
{
    var obj = dojo.byId("FTable");
    var ws = dojo.window.getBox();
    
    var FTtop = ws.h / 2;
    
    if (FTtop < 320) FTtop = 320;
    
    obj.style.top = FTtop + "px";
    
    
    ajaxFtRefresh();  
}

function ajaxFtRefresh()
{
    var xhrArgs = {
                url: "/ajax.php",
                postData: "mode=ftable",
                handleAs: "text",
                load: function(data) {
                    dojo.byId("FTableContainer").innerHTML = data;
                    FTReloader = setTimeout(ajaxFtRefresh,60000);
                },
                error: function(error) {
                    FTReloader = setTimeout(ajaxFtRefresh,10000);
                }
            }
            //Call the asynchronous xhrPost
            var deferred = dojo.xhrPost(xhrArgs);
}

function FTableShowHide()
{
    var obj = dojo.byId("FTable");
    var ws = dojo.window.getBox();
       
    if (FTableShown)
    {
        obj.style.left = "-420px";
        FTableShown = false;
    }
    else
    {
        obj.style.left = (ws.w / 2) + "px";        
        FTableShown = true;
    }
}

function ShowRedNews(id)
{
	dojo.byId("RN"+id).style.height="auto";
	dojo.byId("RN"+id).style.opacity="1.0";
}

function HideRedNews(id)
{
        dojo.byId("RN"+id).style.height="0px";
	dojo.byId("RN"+id).style.opacity="0.0";
}

function hideRegForm()
{
	if (window.history.length > 1)
		window.history.back();
	else
		document.location = "/";
}

var FormMessages = new Array;

FormMessages["en-reg"] = new Array;
FormMessages["ru-reg"] = new Array;

FormMessages["en-reg"]["firstname"] = "Your first name is required.";
FormMessages["en-reg"]["lastname"] = "Your last name is requred.";
FormMessages["en-reg"]["street"] = "Street address is required.";
FormMessages["en-reg"]["city"] = "City is requred.";
FormMessages["en-reg"]["zip"] = "Zip/postal code is requred.";
FormMessages["en-reg"]["country"] = "Country is required.";
FormMessages["en-reg"]["cell_phone"] = "Cell phone number is required.";
FormMessages["en-reg"]["email"] = "Email address is required.";
FormMessages["en-reg"]["em_name"] = "Emergency contact name is required.";
FormMessages["en-reg"]["em_address"] = "Emergency contact address is required.";
FormMessages["en-reg"]["em_phone"] = "Emergency contact phone number is required.";
FormMessages["en-reg"]["pa_name"] = "Parachute Association Name is required.";
FormMessages["en-reg"]["pa_member_number"] = "Parachute Association member number is required.";
FormMessages["en-reg"]["lic_type"] = "License type is required.";
FormMessages["en-reg"]["lic_no"] = "License number is required.";
FormMessages["en-reg"]["lic_expiration"] = "License expiration date is required.";
FormMessages["en-reg"]["height"] = "Please specify your height, it is required.";
FormMessages["en-reg"]["weight"] = "Please specify your exit weight, it is required.";
FormMessages["en-reg"]["shirt_size"] = "Please specify your shirt size, it is required.";
FormMessages["en-reg"]["total_jumps"] = "Total jumps number is required.";
FormMessages["en-reg"]["invalid_email"] = "Valid email address is required.";
FormMessages["en-reg"]["height1"] = "Please select units for your height.";
FormMessages["en-reg"]["weight1"] = "Please select units for your weight.";
FormMessages["en-reg"]["floater_slot"] = "Please select your Floater Slot position.";
FormMessages["en-reg"]["diver_slot"] = "Please select your Diver Slot position.";
FormMessages["en-reg"]["formation_slot"] = "Please select your Formation Slot position.";


function validateRegForm(fname)
{
        var formObj = document.getElementById(fname);

        var radios = new Array;

        for (var i = 0; i < formObj.elements.length; i++)
        {
                var field = formObj.elements[i];

//              window.alert(field.type+" "+field.name);

                if ((field.type != "hidden") && (field.className.match("required")))
                {
                        switch (field.type)
                        {
                                case "text":
                                {
                                        if (field.value.length == 0)
                                        {
                                                showRegFormErrorMsg(fname, field.name, field);
                                                return;
                                        }

                                        if (field.name == "email")
                                        {
                                                if (!echeck(field.value))
                                                {
                                                        showRegFormErrorMsg(fname, "invalid_email", field);
                                                        return;
                                                }
                                        }

                                        break;
                                }

                                case "select-one":
                                {
                                        if (field.value == "none")
                                        {
                                                showRegFormErrorMsg(fname, field.name, field);
                                                return;
                                        }

                                        field.className = "required";
                                        break;
                                }

                                case "radio":
                                {
                                        if (typeof radios[field.name] == 'undefined')
                                        {
                                                radios[field.name] = new Array;
                                                radios[field.name]['object'] = field;
                                                radios[field.name]['value']  = 0;
                                        }

                                        if (field.checked)
                                        {
                                                radios[field.name]['value'] = 1
                                        }

                                        break;
                                }
                        }
                        field.className = "required";
                }
        }

        for (i in radios)
        {
                if (radios[i]['value'] == 0)
                {
                        showRegFormErrorMsg(fname, radios[i]['object'].name, radios[i]['object']);
                        return;
                }
        }

        formObj.submit();

        return;
}											


function showRegFormErrorMsg(fname, fieldname, field)
{
        window.alert(FormMessages[fname][fieldname]);
        field.className = "required error-field";
        field.focus();
}

function echeck(str)
{
        var at="@"
        var dot="."
        var lat=str.indexOf(at)
        var lstr=str.length
        var ldot=str.indexOf(dot)
        if (str.indexOf(at)==-1){
           return false
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
           return false
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            return false
        }

         if (str.indexOf(at,(lat+1))!=-1){
            return false
         }

         if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            return false
         }

         if (str.indexOf(dot,(lat+2))==-1){
            return false
         }

         if (str.indexOf(" ")!=-1){
            return false
         }

         return true
}

/***************************************************
 * 
 * Language functions
 * 
 */

function flagShow()
{
	var obj1 = dojo.byId("flag-container");
	var obj2 = dojo.byId("flag-stripe");
	
	obj1.style.width = "200px";
	obj2.style.right = "-60px";
}

function flagHide()
{
	var obj1 = dojo.byId("flag-container");
	var obj2 = dojo.byId("flag-stripe");
	
	obj1.style.width = "38px";
	obj2.style.right = "-220px";	
}

function flagClick(lang)
{
	switch(lang)
	{
		case "en":
			{
				document.location = "/en/";
				break;
			}
		case "ru":
			{
				document.location = "/";
				break;
			}
	}
}



dojo.addOnLoad(libInit);
dojo.addOnLoad(ODKL.init);

