var hwnd;

function launch(url,name,winwidth,winheight){
	var version=100;
	var b_ie = false;
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		b_ie = true;
		var temp=navigator.appVersion.split("MSIE")
		version=parseFloat(temp[1]);
	}
	var properties="width="+winwidth+",height="+winheight+",toolbar=0,scrollbars=1,status=0,directories=0,menubar=0,resizable=1,dependent=1";
	if (version<=6.0){
		hwnd = window.open(url, null, properties);
	}else{
		hwnd = window.open(url,name,properties);
	}
	if (window.focus) {hwnd.focus()}
//	if (navigator.appName == "Netscape") {
//		hwnd.focus();
//	}
}

function closepopup(){
	if(window.closed == false){
		window.close();
	}else{
		alert('Window already closed!');
	}
}

function printpage(){
	window.print();
}

function show_hide(id, force){
	if(typeof(force) == 'undefined')	force = false;
	if(force==''){
		$('#' + id).fadeIn(200);
	}else if(force=='none'){
		$('#' + id).hide();
	} else {
		$('#' + id).toggle(400);
	}
}

function check_style_cart_form(theform){
	var returnval=true //by default, allow form submission
	var tot=0;
	for (i=0; i<theform.elements.length; i++){
		if (theform.elements[i].type=="text" || theform.elements[i].type=="textarea"){
			if (theform.elements[i].value==""){ //if empty field
			} else {
				tot += theform.elements[i].value;
//				tot += parseInt(theform.elements[i].value);
			}
		}
	}
	if(tot==''){
		returnval = false;
		show_message('warning','Please select at least one color/size for this product.')
	}
	return returnval
}

function bookmarksite(title,url){
	if (window.sidebar){ // firefox
		window.sidebar.addPanel(title, url, "");
	}else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} else if(document.all){// ie
		window.external.AddFavorite(url, title);
	}
}

function close_message(div){
	if (document.getElementById){
		var div_tmp = div + 'box';
//		obj = document.getElementById(div_tmp);
//		if(obj.style.display ==''){
			show_hide(div_tmp, 'none');
			show_hide('info_overlay', 'none')
//		}
	}
}

function show_message(div_type, message, show_close_in, width, height){
	if(message == "") return true;
	if(typeof(show_close_in) == 'undefined')	show_close_in = true;
	if(typeof(width) == 'undefined')			width = 0;
	if(typeof(height) == 'undefined')			height = 0;

	var show_close=new Boolean(show_close_in);
	if(div_type!='info' && div_type!='warning' && div_type!='error' && div_type!='empty'){
		div_type='info';
	}
	var div = div_type + 'box';
	var message1 = '<p>';
	var message2 = '</p>';
	if(show_close==true){
		var close_btn = '<a href="javascript:close_message(\'' + div_type + '\');" class="close" id="btn_close_div" >close</a>';
	} else {
		var close_btn = '';
	}
	if(div_type=='empty'){
		message1 = close_btn + message1;
	} else {
		message2 = message2 + close_btn;
	}
	if (document.getElementById){
		obj = document.getElementById(div);
		obj.innerHTML = message1 + message + message2;
		if(width>0){
			obj.style.width = width + 'px';
			obj.style.marginLeft = "-" + (width/2) + "px";
		} else {
			obj.style.width = '';
			obj.style.marginLeft = '';
		}
		if(height>0){
			obj.style.height = height + 'px';
			obj.style.marginTop = "-" + (height/2) + "px";
		} else {
			obj.style.height = '';
			obj.style.marginTop = '';
		}
	}
	show_hide('info_overlay', '');
	show_hide(div, '');
	return true;
}

function change_logo_preview_color(url, new_color, color_id, new_width){
	document.getElementById('logowindow').style.backgroundColor	= new_color;
	if(logo>0){
		document.images['logomain'].width		= new_width;
		if(color_id>0){
			document.images['logomain'].src		= url + '&lid=' + logo + '&color_id=' + color_id + '&stop=0';
		} else {
			document.images['logomain'].src		= url + '&lid=' + logo;
		}
	}
}

function show_other_logos(){
	var message = '<h3>Changing your logo will apply to all the items in your cart.</h3><br />';
	old_logo_id = Get_Cookie('logo_choose_id');
	for (var lid in choose_logo){
		nickname = choose_logo[lid]['nick'];
		type_id = choose_logo[lid]['type_id'];
		if(lid>0 && old_logo_id != lid){
			message = message + '<div style="float:left; width:180px; height:250px; margin:7px; border:1px solid #CDCDCD;">';
			message = message + nickname + '<br /><a href="javascript:choose_other_logo(' + lid + ');"><img border="0" src="/qsc2/scripts/display_dst.html?lid=' + lid + '&tk=1" width="180" /><br />logo ' + lid + '</a><br />';
			message = message + 'Logo for ' + get_logo_type_name(type_id);
			message = message + '</div>';
		}
	}
//	div_type, message, show_close_in, width, height
	show_message('empty',message,true,620);
}

function show_other_logos_for_cart(missing_logo_type_id){
	var message = '<h3>Changing your logo will apply to all the ' + get_logo_type_name(missing_logo_type_id) + ' items in your cart.</h3><br />';
	old_logo_id = Get_Cookie('logo_choose_id');
	for (var lid in choose_logo){
		nickname = choose_logo[lid]['nick'];
		type_id = choose_logo[lid]['type_id'];
		if(lid>0 && old_logo_id != lid){
			message = message + '<div style="float:left; width:180px; height:250px; margin:7px; border:1px solid #CDCDCD;">';
			message = message + nickname + '<br /><a href="javascript:clone_logo_over(' + lid + ',' + missing_logo_type_id + ');"><img border="0" src="/qsc2/scripts/display_dst.html?lid=' + lid + '&tk=1" width="180" /><br />logo ' + lid + '</a><br />';
			message = message + 'Logo for ' + get_logo_type_name(type_id);
			message = message + '</div>';
		}
	}
//	div_type, message, show_close_in, width, height
	show_message('empty',message,true,620);
}

function get_logo_type_name(type_id){
	message = '';
	if(type_id==1){
		message = message + 'Apparel and Accessory Embroidery';
	}else if(type_id==2){
		message = message + 'Hat Embroidery';
	}else if(type_id==3){
		message = message + 'Visor Embroidery';
	}else if(type_id==4){
		message = message + 'Digital Printing';
	}else if(type_id==5){
		message = message + 'Digital Printing';
	}else if(type_id==6){
		message = message + 'Fleece and Towels';
	}
	return message;
}

function clone_logo_over(from_logo_id, to_logo_type_id){
	Set_Cookie('clone_from_logo_id',from_logo_id, 30, '/');	//30 days
	Set_Cookie('clone_to_logo_type_id',to_logo_type_id, 30, '/');	//30 days
	var curr_url = window.location.href;
	show_hide('info_overlay');
	show_hide('emptybox');
	show_message('info', 'Loading...', false);
	if(curr_url.indexOf("#")>0){
		window.location.reload()
	} else {
		window.location=curr_url;
	}
}

function choose_other_logo(new_logo_id){
	old_logo_id = Get_Cookie('logo_choose_id');
	if(old_logo_id != new_logo_id){
		logo_type_id = choose_logo[new_logo_id]['type_id'];
		logo = new_logo_id
		Set_Cookie('logo_choose_id',logo, 30, '/');	//30 days
		Set_Cookie('logo_choose_type_id',logo_type_id, 30, '/');	//30 days
	}
	var curr_url = window.location.href;
//	if(curr_url.indexOf("/cart")>0 && old_logo_id != new_logo_id){
	if(old_logo_id != new_logo_id){
		show_hide('info_overlay');
		show_hide('emptybox');
		show_message('info', 'Loading...', false);
		if(curr_url.indexOf("#")>0){
			window.location.reload()
		} else {
			window.location=curr_url;
		}
	} else {
		//let's close it
		show_hide('emptybox');
		show_hide('info_overlay');
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if (expires){
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name + "=" +escape(value) +
		((expires)?";expires=" + expires_date.toGMTString():"") + 
		((path)?";path=" + path:"")+ 
		((domain)?";domain=" + domain:"") +
		((secure)?";secure":"");
}
// this fixes an issue with the old method, ambiguous values 
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie(check_name) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ ){
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name ){
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 ){
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ){
		return null;
	}
}
// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	if (Get_Cookie(name))
		document.cookie = name + "=" + (( path ) ? ";path=" + path : "") + ((domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function show_xtra_images(style_id, style_name){
	var message = '';
	var i=0;
	for (var lid in list_images){
		if(i==0){
			message = message + '<p class="title">' + style_name + '<br />';
			message = message + '<span class="style">Style #' + style_id + '</span></p>';
			message = message + '<div class="imgbox_pop"><img id="main_image_js" src="' + list_images[lid] + '" alt="Prod_pic_place" /></div>';
			message = message + '<table width="480" border="0" align="center" cellpadding="10" cellspacing="0"><tr>';
		} else {
			message = message + '<td><div class="imgbox_pops"><a href="javascript:void(0);" onclick="javascript:changeimage(\'' + lid + '\',\'main_image_js\',250,300)"><img src="' + list_images[lid] + '" alt="prod_pic_place_thb" /></a></div></td>';
		}
		i++;
	}
	message = message + '</tr></table>';
	message = message + '<p><a href="javascript:show_hide(\'emptybox\');show_hide(\'info_overlay\');" >Return to Product</a></p>';
	show_message('empty', message, true, 500, 500);
}

function show_new_name_logo(logo_id, old_name){
	var message = '';
	message = message + '<form method="post" onsubmit="return submit_show_new_name_logo();" action="/logo_locker?t=change_name&lid=' + logo_id + '" name="logo_name">';
	message = message + '<p class="title">Name Your Logo:</p>';
	message = message + '<input type="text" maxlength="50" size="50" value="' + old_name + '" id="description" name="description"/>';
	message = message + '<input type="submit" value="Change the name" name="submit"/>';
	message = message + '</form>';
	show_message('empty', message, true, 300, 150);
}

function submit_show_new_name_logo(){
	show_hide('info_overlay');
	show_hide('emptybox');
	show_message('info', 'Loading...', false);
	return true;
}


function gup(name){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}
function in_array(needle, haystack, argStrict) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: true
	var found = false, key, strict = !!argStrict;
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			found = true;
			break;
		}
	}
	return found;
}