var oldID = 0;
function showDetail(elemID){
	elem = document.getElementById('d_'+elemID);

	if(oldID != 0){
		document.getElementById('d_'+oldID).style.display = 'none';
	}
	if(elem.style.display == 'block'){
		document.getElementById('d_'+elemID).style.display = 'none';
	}else{
		elem.style.display = 'block';
	}
	oldID = elemID;
}

function openPopup(aObject, url, width, height){
	var defWidth = 500;
	var defHeight = 500;
	if( !width ){width = defWidth;}
	if( !height ){height = defHeight;}
	if( !url ){url = aObject.href;}
	window.open(url, "Link", "width="+width+",height="+height+",scrollbars=yes,resizable=yes");
	//alert(url);
	return false;
}

function fillField(elem, text){
	if(elem.value == ''){
		elem.value = text;
		elem.className = 'search clear';
	}else{
		if(elem.value == text){
			elem.value = '';
			elem.className = 'search';
		}else{
			elem.className = 'search';
		}
	}

}

function checkFormAnketa()
{
    var f = document.forms['AnketaForm'];
    for(var i=0;i<f.elements.length;i++){
        var e = f.elements[i];
        e.value = e.value.replace(/[<>&]+/g,'').replace(/^[\ ]+|[\ ]+$/,'').replace(/[\ ]+/g,' ');
        if(e.name=='fio' && e.value=='') {
            byid('error').innerHTML = 'Вы не заполнили обязательные поля!';
            byid('error').style.display = 'block';
            return false;
        }
    }
    byid('error').style.display = 'none';
    byid('error').innerHTML = '';
    return true;
}

function checkForm(name)
{
    var f = document.forms[name];
    for(var i=0;i<f.elements.length;i++){
        var e = f.elements[i];
        e.value = e.value.replace(/[<>&]+/g,'').replace(/^[\ ]+|[\ ]+$/,'').replace(/[\ ]+/g,' ');
        if(e.name=='user_email' && !/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(e.value)) {
            byid('tr-email').className = 'error';
            e.style.cssText = 'border:solid 1px red;';
            byid('error').innerHTML = 'Неправильно заполнены обязательные поля!';
            byid('error').style.display = 'block';
            return false;
        }else{
            e.style.cssText = '';
        }
    }
    return true;
}

function checkFormReview()
{
    var f = document.forms['ReviewForm'];
    for(var i=0;i<f.elements.length;i++){
        var e = f.elements[i];
        e.value = e.value.replace(/[<>&]+/g,'').replace(/^[\ ]+|[\ ]+$/,'').replace(/[\ ]+/g,' ');
        if((e.name=='fio' && e.value=='') || (e.name=='theme' && e.value=='') || (e.name=='comment' && e.value=='')) {
            byid('error').style.display = 'block';
            return false;
        }
    }
    byid('error').style.display = 'none';
    return true;
}

function showSizes()
{
    var s=byid('sizes'), c=byid('colors');
    var ss = sizes.split(':'), vss=[];
    this.sizeArr = [];
    this.sizeColorArr = []
    for(var i=0;i<ss.length;i++){
        vss=ss[i].split('_');
        var k = in_array(vss[1], this.sizeArr, 1);
        if(!k) {
            this.sizeArr.push(vss[1]);
            this.sizeColorArr.push([vss[0]]);
        }else{
            this.sizeColorArr[k].push(vss[0]);
        }
    }
    var h='',evts=[];
    for(var i=0;i<this.sizeArr.length;i++){
        h += '<span class="OptSize">'+this.sizeArr[i]+'<br/><input type="checkbox" id="size_'+cat_id+'_'+this.sizeArr[i]+'" name="size['+cat_id+']" value="'+this.sizeArr[i]+'" /></span>';
        evts.push(this.sizeArr[i]);
    }
    s.innerHTML = h;
    for(var i=0;i<evts.length;i++){
        var a = byid('size_'+cat_id+'_'+evts[i]);
        a.setAttribute('sizei', evts[i]);
        a.onclick = function(e){ return showColors(this.getAttribute('sizei'));}
    }
    c.innerHTML = '';
}

function showColors(size)
{
    var c=byid('colors'),ss=byid('size_'+cat_id+'_'+size);
    var k = in_array(size, this.sizeArr, 1);
    
    if(k===false) return false;
    
    for(var i=0;i<this.sizeArr.length;i++){
        if(i!=k) byid('size_'+cat_id+'_'+this.sizeArr[i]).checked = false;
    }
    
    if(ss.checked) {
        var cArr = this.sizeColorArr[k];
        var h='',evts=[];
        for(var i=0;i<cArr.length;i++){
            var kc = in_array(cArr[i], colorIDs, 1);
            h += '<span class="OptColors">'+colorNames[kc]+'<br/><input type="checkbox" id="color_'+cat_id+'_'+cArr[i]+'" name="color['+cArr[i]+']" value="'+cArr[i]+'" /></span>';
            evts.push(cArr[i]);
        }
        c.innerHTML = h;
        for(var i=0;i<evts.length;i++){
            var a = byid('color_'+cat_id+'_'+evts[i]);
            a.setAttribute('sizei', size);
            a.setAttribute('colori', evts[i]);
            a.onclick = function(e){ return addColorSelect(this.getAttribute('sizei'), this.getAttribute('colori'));}
        }
    }else{
        c.innerHTML = '';
    }
    selectSizes = 0;
    selectColors = [];
}
function addColorSelect(size, color)
{
    var cs=byid('color_'+cat_id+'_'+color);
    if(cs.checked) {
        selectSizes = size;
        if(!in_array(color, selectColors)) selectColors.push(color);
    }else{
        var kc = in_array(color, selectColors, 1);
        selectColors.remove(kc);
        if(selectColors.length==0) {
            selectSizes = 0;
        }
    }
    
}

function in_array(val, arr, key){
    for(var i in arr) if(arr[i]==val) return (typeof key!='undefined')?i:true;
    return false;
}
function byid(id){return document.getElementById(id);}
Array.prototype.remove = function (index) {
    if(index===false) return false;
    if(this.length>1) {
        for (var i = index-0; i < this.length; i++)
            this[i] = this[i+1];
    }
    this.pop();
};
function debug( elem, type )
{
    var dbg = byid('debug');
    var html = dbg.innerHTML;
    if( typeof type=='undefined' ) {
        html += '---:';
        for(var ii in elem) {
            try {
                html += '<b>'+ii+':</b>'+elem[ii]+'<br/>';
            }catch(err) {
                html += '<b>'+ii+':</b>'+err+'<br/>';
            }
        }
    }else {
        html += '---:'+elem+'<br/>';
    }
    dbg.innerHTML = html;
}
