/*functions for tecco js*/


function getEl(d){
	return document.getElementById(d);
}

var leftBoxesPositions = new Array();

leftBoxesPositions['test1'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test2'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test3'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test4'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test5'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test6'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test7'] ={boxToMove: 2, topOffset: 0};
leftBoxesPositions['test8'] ={boxToMove: 2, topOffset: 0};

leftBoxesPositions['test9'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test10'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test11'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test12'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test13'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test14'] ={boxToMove: 3, topOffset: 628};
leftBoxesPositions['test15'] ={boxToMove: 3, topOffset: 628};

leftBoxesPositions['test16'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test17'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test18'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test19'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test20'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test21'] ={boxToMove: 3, topOffset: 0};
leftBoxesPositions['test22'] ={boxToMove: 3, topOffset: 0};

var iccProfiles = new Array();



if(!Array.indexOf){
	Array.prototype.indexOf = function(obj){
	for(var i=0; i<this.length; i++){
		if(this[i]==obj){
		return i;
		}
	}
	return -1;
	}
}

function moveRightDivsDown(n){
	data = leftBoxesPositions[n];

	spacer = window.parent.document.getElementById('left_spacer_'+(data.boxToMove-1));
	//alert('left_spacer_'+(data.boxToMove));

	spacer.style.height = data.topOffset+"px";
	spacer.style.display = 'block';
}

function collapseRightDivs(){

	spacer1 = window.parent.document.getElementById('left_spacer_1');
	spacer2 = window.parent.document.getElementById('left_spacer_2');

	spacer1.style.display = 'none';
	spacer2.style.display = 'none';
	
}


function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return [curleft,curtop];
    }
}

function get_left(ele){
    if (ele.offsetParent)
        return ele.offsetLeft + get_left(ele.offsetParent);
    else
        return ele.offsetLeft;
}

function get_top(ele){
    if (ele.offsetParent)
        return (ele.offsetTop + get_top(ele.offsetParent));
    else
        return (ele.offsetTop);
}



function getNameNoPath(filename) {
  var re = new RegExp(/([^\/\\]+)$/);
  var m = re.exec(filename);
  if (m == null) {
    return null;
  } else {
   return m[0];
  }
}

function profiles_for(paper_name, printer_type, printer_model){

	resultArray = new Array();
	resultCount=0;

	for (key in iccProfiles){
		if (key>=0){			
			if ((printer_type === undefined) && (printer_model === undefined)){			
				if (iccProfiles[key].paper_name == paper_name)	 {resultArray[resultCount]=iccProfiles[key]; resultCount++;};
			}else if  ((printer_type !== undefined) && (printer_model === undefined)){
				if ((iccProfiles[key].paper_name == paper_name)&&(iccProfiles[key].printer_type == printer_type))	 {resultArray[resultCount]=iccProfiles[key]; resultCount++;};
			}else if  ((printer_type !== undefined) && (printer_model !== undefined)){
				if ((iccProfiles[key].paper_name == paper_name)&&(iccProfiles[key].printer_type == printer_type)&&(iccProfiles[key].printer_model == printer_model)) {resultArray[resultCount]=iccProfiles[key]; resultCount++;};
			}	
		}
	}	
	
	return resultArray;

}

function show_profiles(paper_name, printer_type, printer_model){


	content = '<h3 style="padding-top:10px; padding-bottom:5px;">'+paper_name+': Profil-Downloads für '+printer_type+' '+printer_model+'</h3>';

	content += '<table><tr><th><div>Betriebssystem</div></th><th><div>Profil-Download</div></th></tr>';
	profiles = profiles_for(paper_name, printer_type, printer_model);

	for (key in profiles){				
    if(profiles.hasOwnProperty(key)){
		  files = profiles[key].files;
		  file_content='';
		  for (file_key in files){
        if(files.hasOwnProperty(file_key)){
  			  file_content+='<a target ="_blank" style="display:block" href="'+files[file_key]+'">'+getNameNoPath(files[file_key])+'</a>';
        }
		  }

		  content += '<tr><td><div>'+profiles[key].os+'</div></td><td>'+file_content+'</td></tr>';			
    }
	}

	content += '</table>';

	getEl('icc_result_list').innerHTML  = content;
	getEl('icc_result_list').style.display = "block";


}


function show_printer_models(paper_name, printer_type){
	getEl('icc_printer_models_wrapper').style.display='none';	
	getEl('icc_result_list').style.display='none';

	profiles_for_printer_type = profiles_for(paper_name, printer_type);

	content = '<select id="icc_printer_model_select" onchange="if (this.value.length>0) show_profiles(\''+paper_name+'\',\''+printer_type+'\',this.value)">';
	
	profiles = profiles_for(paper_name, printer_type);

	
	printer_models = new Array();
	printer_models_count = 0;
	for (key in profiles){					
		if (key>=0){
			if (printer_models.indexOf(profiles[key].printer_model)<0) printer_models[printer_models_count++]=profiles[key].printer_model;
		}
	}

	content+= '<option value="">[Bitte wählen...]</option>';
	for (key in printer_models){
		if (key>=0){
			content+= '<option value="'+printer_models[key]+'">'+printer_models[key]+'</option>';
		}
	}

	

	content +="</select>";

	
	getEl('icc_printer_models_wrapper').innerHTML  = content;
	getEl('icc_printer_models_wrapper').style.display = "block";

}

function show_color_profile_div(element, paper_name){	
	getEl('icc_printer_models_wrapper').style.display='none';	
	getEl('icc_result_list').style.display='none';

	content = '<select id="icc_printer_type_select" onchange="if (this.value.length>0) show_printer_models(\''+paper_name+'\',this.value)">';
	
	profiles_for_paper_name = profiles_for(paper_name);

	
	printer_types = new Array();	
	printer_types_count = 0;
	for (key in profiles_for_paper_name){						
		if (key>=0){
			if (printer_types.indexOf(profiles_for_paper_name[key].printer_type)<0) printer_types[printer_types_count++]=profiles_for_paper_name[key].printer_type;	
		}
	}

	content+= '<option value="">[Bitte wählen...]</option>';
	for (key in printer_types){		
		if (key>=0){
			content+= '<option value="'+printer_types[key]+'">'+printer_types[key]+'</option>';
		}
	}

	

	content +="</select>";

	
	getEl('icc_printer_types_wrapper').innerHTML  = content;

	deltaY=0;

	//alert(navigator.appName+" --- "+navigator.appVersion);
	if ((navigator.appName.indexOf("Internet Explorer")>=0) && (navigator.appVersion.indexOf("MSIE 6.0")>=0)){
		deltaY = 90;
	}

	getEl('color_profile_wrapper').style.top = (-90 + get_top(element)+deltaY)+"px";
	getEl('color_profile_wrapper').style.left = (200+get_left(element))+"px";
	getEl('color_profile_wrapper').style.display = "block";
	
}

