/*
 * Narmand Information Organizing (R)
 * Web: narmand.com  |  Email: info@narmand.com
 * Copyright (C) Narmand (R) 2010, All rights reserved.
 */

var Property = new Property();

var Narmand = {
    Property: {
        Root: Property.Root
    } ,
    String:{
        Trim: function(str){
            var s = str.replace(/^(\s)*/, '');
            s = s.replace(/(\s)*$/, '');
            return s;
        }
    },
    Get:{
        Link: function(str){
            window.location.href = str;
        }
    },
    ChangeSlide: function(intSlideId) {
        $("div#Slides div").hide();
        $("div#Slides div#Silde" + intSlideId).fadeIn();
        $("div#SlideSelectors a").removeClass("Current");
        $("div#SlideSelectors a:nth-child(" + intSlideId + ")").addClass("Current");
    } ,

    EmailValidation: function(formName,filedName) {
        objForm = eval('document.' + formName + '.' + filedName);
        var emailStr=objForm.value;
        var checkTLD=1;
        var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
        var emailPat=/^(.+)@(.+)$/;
        var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
        var validChars="\[^\\s" + specialChars + "\]";
        var quotedUser="(\"[^\"]*\")";
        var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
        var atom=validChars + '+';
        var word="(" + atom + "|" + quotedUser + ")";
        var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
        var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
        var matchArray=emailStr.match(emailPat);
        if (matchArray==null) {
            return false;
        }
        var user=matchArray[1];
        var domain=matchArray[2];
        for (i=0; i<user.length; i++) {
            if (user.charCodeAt(i)>127) {
                return false;
            }
        }
        for (i=0; i<domain.length; i++) {
            if (domain.charCodeAt(i)>127) {
                return false;
            }
        }
        if (user.match(userPat)==null) {
            return false;
        }
        var IPArray=domain.match(ipDomainPat);
        if (IPArray!=null) {
            for (var i=1;i<=4;i++) {
                if (IPArray[i]>255) {
                    return false;
                }
            }
            return true;
        }
        var atomPat=new RegExp("^" + atom + "$");
        var domArr=domain.split(".");
        var len=domArr.length;
        for (i=0;i<len;i++) {
            if (domArr[i].search(atomPat)==-1) {
                return false;
            }
        }
        if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
            return false;
        }
        if (len<2) {
            return false;
        }
        return true;
    } ,
    MultiSelector: function( defaultFormElement, layerId, max ){
        this.defaultElement = eval('document.'+defaultFormElement);
        this.listLayer = document.getElementById(layerId);
        this.count = 0;
        this.id = 0;

        if( max ){
            this.max = max;
        } else {
            this.max = -1;
        }

        this.AddElement = function( element ){
            if( element.tagName == 'INPUT' && element.type == 'file' ){
                //element.name = 'file_' + this.id++;
                element.name = 'file[]';
                element.multi_selector = this;
                element.onchange = function(){
                    var new_element = document.createElement( 'input' );
                    new_element.type = 'file';
                    new_element.setAttribute("size","1");
                    new_element.style.filter = "alpha(opacity=0)";
                    new_element.style.opacity = "0.0";
                    new_element.style.position = 'relative';
                    new_element.style.top = '-1px';
                    new_element.style.right = '-34px';


                    this.parentNode.insertBefore( new_element, this );
                    this.multi_selector.AddElement( new_element );
                    this.multi_selector.AddListRow( this );
                    this.style.position = 'absolute';
                    this.style.left = '-1000px';
                };
                if( this.max != -1 && this.count >= this.max ){
                    element.disabled = true;
                    document.getElementById('Cabinet').setAttribute("class","CabinetDisable");
                    document.getElementById('Cabinet').setAttribute("className","CabinetDisable");
                    document.getElementById('Cabinet').className = 'CabinetDisable';
                }
                this.count++;
                this.current_element = element;
            }
        }

        this.AddListRow = function( element ){
            var new_row = document.createElement( 'div' );
            new_row.element = element;

//            var new_row_button = document.createElement( 'img' );
//            new_row_button.setAttribute("src", Narmand.Property.Root+"images/delete.png");
//            new_row_button.setAttribute("title", "حذف");
//            new_row_button.setAttribute("class","FileDelete");
//            new_row_button.setAttribute("className","FileDelete");

            var new_row_button = document.createElement( 'a' );
            new_row_button.setAttribute("href", "#DeleteSelectedImage");
            new_row_button.setAttribute("title", "حذف عکس انتخابی");
            new_row_button.setAttribute("class","Default Smaller");
            new_row_button.setAttribute("className","Default");
            new_row_button.innerHTML = "حذف عکس انتخابی";

            new_row_button.onclick= function(){
                this.parentNode.element.parentNode.removeChild( this.parentNode.element );
                this.parentNode.parentNode.removeChild( this.parentNode );
                this.parentNode.element.multi_selector.count--;
                this.parentNode.element.multi_selector.current_element.disabled = false;
                if(this.parentNode.element.multi_selector.count==1){
                    document.getElementById('Cabinet').setAttribute("class","Cabinet");
                    document.getElementById('Cabinet').setAttribute("className","Cabinet");
                    document.getElementById('Cabinet').className = 'Cabinet';
                    document.getElementById('FilesList').innerHTML = '<span class="Red Smaller">عکس رسمی خود را انتخاب نمایید!</span>';
                    document.getElementById('Cabinet').setAttribute("class","CabinetRed");
                    document.getElementById('Cabinet').setAttribute("className","CabinetRed");
                    document.getElementById('Cabinet').className = 'CabinetRed';
                }
                return false;
            }

            new_row.innerHTML = "&nbsp;&nbsp;<span dir='ltr'>" + element.value+"</span>";
            new_row.insertBefore(new_row_button,new_row.firstChild);
            this.listLayer.innerHTML = '';
            this.listLayer.appendChild( new_row );

        }

        this.AddElement(this.defaultElement);
    }
}

//$(document).ready(function() {
//  //  Narmand.ChangeSlide(1);
//});

$().ready(function() {
   $('#coda-slider-1').codaSlider({
      autoSlide: true,
      autoSlideInterval: 8000,
      autoSlideStopWhenClicked: true,
      firstPanelToLoad: 1,
      dynamicArrows: true,
      dynamicTabs: true
   });
});
