var styles = [];
styles['default'] = {'name':'default','title':'默认'};
styles['pink'] = {'name':'pink','title':'粉红'};
styles['black'] = {'name':'black','title':'关灯'};

$(document).ready(function(){
	var html = '';
	var checked = '';
	var currentstyle = $.cookie('style');
	currentstyle = currentstyle ? currentstyle : 'default';
	for (var i in styles) {
		if (styles[i].name == currentstyle) {
			checked = ' class="checked"';
		} else {
			checked = '';
		}
		html += '<li'+checked+' onclick="javascript:changeStyle(\''+styles[i].name+'\');" name="'+styles[i].name+'"><img src="/static/styles/'+styles[i].name+'/icon.png" alt="'+styles[i].title+'" title="'+styles[i].title+'" /></li>';
	}
	$('#styles').html(html);
});

/**
 * Change style
 * 
 * @param {Object} $style
 * @param {Object} $obj
 */
function changeStyle($style)
{
	var cssFile = '/static/styles/'+$style+'/main.css';
	loadCss(cssFile);
	$('#styles li').removeClass('checked');
	$('#styles li[name='+$style+']').addClass('checked');
	$.cookie('style', $style, { expires: 360000 });
}

/**
 * Load a css to page
 *
 * @param file File uri
 * @return
 */
function loadCss($file){
    var cssTag = document.getElementById('styleCss');
	if (cssTag && cssTag.href == $file) {
		return;
	}
    var head = document.getElementsByTagName('head').item(0);
    if (cssTag) {
		head.removeChild(cssTag);
	}
    css = document.createElement('link');
    css.href = $file;
    css.rel = 'stylesheet';
    css.type = 'text/css';
    css.id = 'styleCss';
    head.appendChild(css);
}

function AttachStyle(){
    this.load = function(URL){
        var css = document.createElement('link');
        css.type = "text/css";
        css.rel = "stylesheet";
        css.src = URL;
        var head = document.getElementsByTagName("head")[0];
        head.appendChild(css);
        var self = this;
        css.onload = css.onreadystatechange = function(){
            if (this.readyState && this.readyState == "loading") 
                return;
            self.onsuccess();
        }
        css.onerror = function(){
            head.removeChild();
            self.onfailure();
        }
    }
    this.onsuccess = function(){
    }// 加载成功事件
    this.onfailure = function(){
    }// 加载失败事件
}
