var skuMade = false

function SKUGetClass(ele){
	if(ele.getAttribute("class")){
		return ele.getAttribute("class")
	}else{
		return ele.className
	}
}

function SKUGetName(isSub){
	cname =  isSub ? 'pr_name' : 'more_info_title'
	tname = isSub ? 'a' : 'span'
	var spans = document.getElementsByTagName(tname)		for(var i = 0; i < spans.length; i++){		if(SKUGetClass(spans[i]) == cname){			return(spans[i].innerHTML)		}	}
}

function getPrice(ele){
	var spans = ele.getElementsByTagName("span")		for(var i = 0; i < spans.length; i++){
		if(SKUGetClass(spans[i]).match("_price")){			return(spans[i].innerHTML.replace('$', '').replace(',', ''))		}
	}
}

function getOptions(itemnum){
	var selects = document.getElementsByTagName("select")
	var values = []
	for(var i = 0; i < selects.length; i++){
		if(selects[i].getAttribute("name").match(itemnum+":finopt")){
			values.push(String(selects[i].value))
		}
	}
		
	if(values.length > 0){
		return values
	}else{
		return false
	}
}

function getQSAttribute(qs, att){
	regex = new RegExp(att+"=(.+)&")
	val = qs.match(regex)
	return val ? val[1] : false
}

function getIsSub(info, isForm){
	if(isForm){
		if(info['super']){
			if(info['super'].value != info.itemnum.value){
				return true
			}
		}
	}else{
		if(getQSAttribute(info, 'super') && getQSAttribute(info, 'super') != getQSAttribute(info, 'itemnum')){
			return true
		}
	}
	return false
}

function makeSKU(ele){
	if(ele.tagName.toLowerCase() == 'a'){
		ref = ele.getAttribute("href")
		itemnum = getQSAttribute(ref, 'itemnum')
		pn = ele.parentNode
		isSub = getIsSub(ref, false)
	}else if(ele.tagName.toLowerCase() == 'form'){
		ref = false
		itemnum = ele.itemnum.value
		pn = ele
		isSub = getIsSub(ele, true)
	}
	prodName = SKUGetName(isSub)
	price = getPrice(pn)
	
	sku = prodName.split(/[ -]/)
	skuStr = ''
	var indCount = 0;
	for(var i in sku){
		if(sku[i] != "-" && sku[i] != ''){
			if(indCount != 1){
				if(!sku[i].match(/[^0-9]/gi)){
					skuStr += sku[i]+"-"
					indCount--
				}else if(indCount == 6){
					skuStr += "-"+sku[i].substr(0,3)
				}else if(indCount == 0){
					skuStr += sku[i].substr(0,2)
				}else if(indCount == 2 || indCount == 4){
					skuStr += "-"+sku[i].substr(0,1).toUpperCase()
				}else if(indCount == 3 || indCount == 5){
					skuStr += sku[i].substr(0,1).toUpperCase()
				}else{
					skuStr += "-"+sku[i].substr(0,2)
				}
			}
			indCount++
		}
	}
		
	if(opts = getOptions(itemnum)){
		skuStr += "_"
		error = false
		for(var i in opts){
			if(opts[i].match("Base Color:")){
				opts[i] = opts[i].replace("Base Color: ", "")
			}
			if(opts[i].match("Select")){
				alert("Please "+opts[i])
				error = true
			}else{
				skuStr += opts[i].substr(0,3)+"-"
//				tmp = opts[i].split(" ")
//				if(tmp.length == 1){
//					skuStr += "-"+tmp[0].substr(0,2)
//				}else{
//					skuStr += tmp[0].substr(0,3)
//					skuStr += "-"
//				}
			}
		}
		if(error) return false
	}	
	skuStr = skuStr.replace(/\-{2,}/g, '-')
	skuStr = skuStr.replace(/^\-/g, '')
	skuStr = skuStr.replace(/_$/g, '')
	skuStr = skuStr.replace(/^_/g, '')
	skuStr = skuStr.replace(/\-$/g, '')
	skuStr = skuStr.replace(/_\-/g, '_')
	sku = skuStr
//	var page_forms = document.getElementsByTagName("form")
//	for(var j in page_forms){
//	    if(page_forms[i].getAttribute("action") == 'http://www.outdoorroomliving.com/shop-bin/sc/order.cgi'){
//	    	cartForm = page_forms[i]
//	    }
//	}
//	cartForm.sku.value = sku
	if(ref){
		if(skuMade){
			ele.setAttribute("href", ref.replace(/sku=[^&]*/, 'sku='+sku))
		}else{
			ele.setAttribute("href", ref+"&"+itemnum+":sku="+sku+"&"+itemnum+":price="+price)
		}
	}else{
//		if(skuMade){
			document.getElementsByName(itemnum+":sku")[0].value = sku
//		}else{
////			var skuIn = document.createElement("input")
////			skuIn.setAttribute("type", "hidden")
////			skuIn.setAttribute("value", sku)
////			ele.appendChild(skuIn)
////			prompt("", ele.outerHTML)
////			alert(skuIn.outerHTML)
//			ele.innerHTML += '<input type="hidden" name="'+itemnum+':sku" value="'+sku+'">'
//			alert(ele.innerHTML)
//		}
		var priceInput = document.getElementsByName(itemnum+':price')[0]
		priceInput.value = priceInput.value.replace("$", "")
	}
	var skuMade = true
	return true
}